精华内容
下载资源
问答
  • 表单ajax提交不跳转,清空input框值以及php跨域请求数据总结进行表单ajax时提交时,避免使用form标签,否则页面会跳转ajax请求会延迟,页面跳转将导致ajax成功后返回的结果也刷掉,so应去掉form标签。代码如下,...

    进行表单ajax时提交时,避免使用form标签,否则页面会跳转,ajax请求会延迟,页面跳转将导致ajax成功后返回的结果也刷掉,so应去掉form标签。代码如下,使用button提交

    本地场次编号:<input type="text" class="textBox" id="localId" name="localId"/>
    线上场次编号:<input type="text" class="textBox" id="onlineId" name="onlineId"/>
    <p class="font">温馨提示:请系统比赛结束后,再点提交!</p>
    <p class="mt80">
        <button class="btn" id="sub">提交</button>
    </p>

    点击按钮,触发jquery规则,ajax提交

    $('#sub').click(function(){
        var localId = document.getElementById("localId");
        var onlineId = document.getElementById("onlineId");
        if(localId.value == ""){
            alert("请输入本地场次编号");
            document.getElementById("localId").focus();
            return false;
        }
        if(onlineId.value == ""){
            alert("请输入线上场次编号");
            document.getElementById("onlineId").focus();
            return false;
        }
        $.post("/access/access.php", 
        { localId: $("#localId").val(),
          onlineId: $("#onlineId").val()
         },function(data){
                        alert(data);
                        $('#localId').val('').focus();
                        if(data=='操作成功')
                        $('#onlineId').val('');                                    
            });
        });

    清空input值jquery代码

    $('#onlineId').val('');

    浏览器跨域请求php接口,无法获取到数据,可以在服务端加上代码解决

     header("Access-Control-Allow-Origin: *");
     header('Access-Control-Allow-Methods: "OPTIONS, GET, POST"');
     header('Access-Control-Allow-Credentials: true');
     header('Access-Control-Allow-Headers: "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"');
     header('Access-Control-Max-Age: "3600"');
    展开全文
  • ajax重写方法搭配后台filter返回status实现ajax请求跳转登录页面
  • 前台使用ajax提交数据,后台用ModelAndView,setViewName跳转 解决方法(转载):Ajax发送POST请求SpringMVC页面跳转失败https://www.cnblogs.com/boycelee/p/6243646.html 以下为转载: 问题描述:因为使用的是...

    前台使用ajax提交数据,后台用ModelAndView,setViewName不能跳转

    解决方法(转载):Ajax发送POST请求SpringMVC页面跳转失败https://www.cnblogs.com/boycelee/p/6243646.html

    以下为转载:

    问题描述:因为使用的是SpringMVC框架,所以想使用ModelAndView进行页面跳转。思路是发送POST请求,然后controller层中直接返回相应ModelAndView,但是这种方法不可行。那我们的解决方法是什么呢?

    我的解决方案是,将判断前移,什么意思呢?服务器值返回Map数据,对应页面跳转状态,将逻辑代码写在js代码中。代码如下:

    使用

    window.location.href = “/iswust2hand/index.jsp”;
    进行相应页面跳转

    为什么使用Ajax向SpringMVC中Controller层发送POST请求无法无论我们使用return “index.jsp”、 转发 、 重定向 还是 ModelAndView,都无法解决页面跳转的问题。
    出现这个问题发的原因是什么呢?

    原因:
    这就要从Ajax的原理说起,Ajax实际上就是通过XMLHttpRequest来发送请求对象向服务器发送异步请求,从服务器获取数据,然后使用JS来操作DOM而更新页面。
    也就是说,服务器端返回的是纯文本流,可以是xml格式,html格式,js格式,也可以是字符串格式,但总结一句话,客户端获取ajax异步获取结果后,不是直接显示在页面上,而是必须要先由js处理,完成之后才能显示在页面。

    这就可以解释我们的问题了,当Ajax请求后,返回的只能是字符流,不是页面。所以要使页面跳转,我的解决方案是,将数据用Map返回,然后将数据交由js去解决,
    window.location.href = “/iswust2hand/index.jsp”; 跳转就可以。

    参考:http://www.ithao123.cn/content-2251957.html

    @ResponseBody
        @RequestMapping(value = "/user/login", method = RequestMethod.POST)
        public Map<String, Object> userRegister(@RequestBody User user, HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            Map<String, Object> map = new HashMap<String, Object>();
            User userInfo = userLoginService.userRegister(user);
            System.out.println(user.getNumber());
            if (userInfo != null)
                map.put("code", "0");
            else
                map.put("code", "1");
    
            return map;
    
        }
    
    <script type="text/javascript">
        $(document).ready(function() {
            $("#login_user").click(function() {
                var username = $("#login_account").val();
                var pass = $("#login_userPwd").val();
                var user = {
                    number : username,
                    password : pass
                };//拼装成json格式  
    
                $.ajax({
                    type : "POST",
                    url : "http://localhost:8080/iswust2hand/2hand/user/login",
                    data : JSON.stringify(user),
                    contentType : 'application/json;charset=utf-8',
                    dataType : 'json',
                    success : function(data) {
    
                          if (data.code == '0') {
                            window.location.href = "/iswust2hand/index.jsp";
                            alert("欢迎使用西科二手平台!");
                        }else{
                            alert("密码错误,请确认后重新登录!");
                        }  
    
                    },
    
                    error : function(data) {
                        alert("出错:" + data.code);
                    }
    
                });
    
            });
        });
    </script>
    
    展开全文
  • 本文通过实例代码给大家介绍了jQuery+Ajax请求本地数据加载商品列表页并跳转详情页,需要的朋友可以参考下
  • 前端是easyUI的dataGrid表格发送了一个Ajax请求,到达后端之后这个请求被perms拦截器拦截,权限校验未通过,于是要向/webApp/unauthorized.jsp这个页面跳转,结果页面没有变化。查询控制台发现,数据请求请求302...

             背景:在进行ssm整和shiro时有一个权限不足时跳转到权限不足页面的需求。前端是easyUI的dataGrid表格发送了一个Ajax请求,到达后端之后这个请求被perms拦截器拦截,权限校验未通过,于是要向/webApp/unauthorized.jsp这个页面跳转,结果页面没有变化。查询控制台发现,数据请求的请求302重定向到unauthorized.jsp这个页面,这个页面返回200,请求成功,响应也成功,就是没有跳转页面。纠结了一天。

            最后发现Ajax请求是页面不刷新,不支持页面的转发和重定向。网上搜了半天的的解决方案,大概都是这个思路:后台给前台传送一个前台回调函数需要的json数据,在json数据中添加跳转信息和你前台跳转需要的信息。最后在前台请求的回调函数中进行页面的重定向。

    1.applicationContext-shrio.xml的配置

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
    	   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
    
    	<!--注册realm-->
    	<bean id="bosRealm" class="com.jujung.bos.realm.BosReam"></bean>
    
    	<!--安全管理器-->
    	<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
    		<property name="realm" ref="bosRealm"></property>
    	</bean>
    
    	<!--注册退出过滤器-->
    	<bean id="logoutFilter" class="org.apache.shiro.web.filter.authc.LogoutFilter">
    		<property name="redirectUrl" value="/unauthorized.jsp"/>
    	</bean>
    
    	<!--配置shiro的过滤器工厂(id必须和web.xml文件中配置的filter的名字一样)-->
    	<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
    		<!--注入安全管理器-->
    		<property name="securityManager" ref="securityManager"></property>
    		<!--登录页面的url-->
    		<property name="loginUrl" value="/login.jsp"></property>
    		<!--成功页面的url-->
    		<property name="successUrl" value="/index.jsp"></property>
    		<!--权限不足时请求的url-->
    		<property name="unauthorizedUrl" value="/unauthorized.action"></property>
    		<!--注入退出过滤器-->
    		<property name="filters">
    			<map>
    				<entry key="logout" value-ref="logoutFilter" />
    			</map>
    		</property>
    		<!--注入url拦截规则-->
    		<property name="filterChainDefinitions">
    			<value>
    				/css/** = anon
    				/js/** = anon
    				/images/** = anon
    				/validatecode.jsp* = anon
    				/login.jsp = anon
    				/loginController/login.action = anon
    				/loginController/logout.action = logout
    				/staffController/list.action = perms["staff-list"]
    				/* = authc
    			</value>
    		</property>
    	</bean>
    </beans>
    

    2.在Controller层专门写了一个handler来处理权限不足时请求的url

      @RequestMapping("/unauthorized.action")
        @ResponseBody
        public Map<String, String> unauthorized(HttpServletRequest request, HttpServletResponse response) throws Exception {
            //改变响应码,为了进入datagrid的请求失败回调函数
            response.setStatus(302);
            //添加回调函数需要的信息,以json形式响应
            Map<String, String> result = new HashMap<>();
            result.put("unauthorized", "unauthorized");
            return result;
        }

      3.我的这个请求来自于EasyUI的datagrid,所以我在后台响应重定向,就会进入前台的onLoadError()函数,在这个函数中完成跳转。

     // 取派员信息表格
                $('#grid').datagrid({
                    iconCls: 'icon-forward',
                    fit: true,
                    border: false,
                    rownumbers: true,
                    striped: true,
                    pageList: [10, 30, 50],
                    pagination: true,
                    toolbar: toolbar,
                    url: "${pageContext.request.contextPath}/staffController/list.action",
                    idField: 'id',
                    columns: columns,
                    onDblClickRow: doDblClickRow,
                    /*权限不足时跳转页面*/
                    onLoadError: function(data){
                        //json串转化为js对象
                        var result = eval("(" + data.responseText + ")");
                        //console.log(result)
                        if(result.unauthorized == "unauthorized"){
                            window.location.href = "/unauthorized.jsp"
                        }
                    }
                });
     
     

            

     

     

    展开全文
  • ajax实现提交数据并且不跳转

    千次阅读 2015-12-14 20:33:37
    如果页面的载入函数,$(function() …… 返回了一个false,数据将不会发送,也就是action执行。 类似 这种情况下,action=什么已经没有意义了,只要合法就好。 这句话放在ajax语句执行完后就可以了 上面的...

    <form id="myform" action="submit.php" method="post">
    <textarea name="saytxt" rows="2" cols="40"></textarea>
    <input type="submit" value="提交"/>
    </form>

    如上方所示,首先还是建立表单。传统的方式,发送数据后页面会跳转到submit.php。

    如果页面的载入函数,$(function() ……  返回了一个false,数据将不会发送,也就是action不执行。

    类似

    <form id="myform" action="submit.php" method="post" οnsubmit="return false;">
    这种情况下,action=什么已经没有意义了,只要合法就好。

    这句话放在ajax语句执行完后就可以了


    上面的ajax文件将数据post到submit.php同时返回html类型数据,如果成功返回就讲执行success里面的函数,下面的return false禁用了action的功能,所以页面并没有发生跳转哦。




    展开全文
  • 前言:今天写了一个简单的作业题答案搜索的网站,后端用的Servlet...如果我用前端jsp的话无法实现在提交表单后不跳转或者无痕迹的情况下将答案显示出来,那么怎么办呢? 通过百度我找到了一个方法:用ajax实现前端...
  • ajax请求为什么跳转页面

    千次阅读 2018-03-08 13:53:13
    一言以蔽之! 服务器要控制页面跳转必须客户端提交请求,服务器收到请求后,将处理后的html返回页面展示。AJAX是从服务端获取到数据后利用客户端...AJAX只能从服务端获取数据不能越权做其他诸如页面跳转的事。 ...
  • 解决ajax请求过滤器重定向不跳转

    千次阅读 2018-07-17 17:04:47
    是因为按钮都是ajax请求,默认ajax支持重定向的,因为ajax本身就是局部刷新,不会重新加载页面的。所以需要在过滤器里再加个ajax请求判断,然后找个前台公共js加一个方法。上代码     ...
  • 针对ajax请求时拦截器不跳转问题

    千次阅读 2019-05-08 10:15:28
    最后发现用ajax请求的地址在处理后拦截器并拦截此请求,也不会进行跳转(ps:当然不会跳转了),这让我一直感觉我的拦截器地址配置写错了,进行一番查阅后,这里对这个问题进行了一些梳理 解释 aja...
  • ajax请求返回的页面不跳转

    千次阅读 2013-06-05 23:23:26
    AJAX请求可能在服务端完成跳转的,它只能将文本信息传回到客户端。你可以这么做,如果验证失败的话让拦截器将失败信息以一定的json格式写入输出流中,然后在js里为 Ext.ajax添加requestcomplete事件监听,对返...
  • 原因:Ajax只是利用脚本访问对应url获取数据而已,能做除了获取返回数据以外的其它动作了。所以浏览器端是不会发起重定向的。 正常的http url请求,只有浏览器和服务器两个参与者。浏览器端发起一个http请求,...
  • 我项目完整代码请进入我的github“星座运势”github上源码地址欢迎点一下star(^_^),在这个项目中使用了react框架组件化开发、react路由实现界面跳转和参数传递,此外我所使用的数据来源于ShowAPI接口。一下为路由...
  • 思路是发送POST请求,然后controller层中直接返回相应ModelAndView,但是这种方法可行。  function showEquipInfo(id){  $.ajax({  type: "PSOT",  url: "${ctx}/qcmtt/ajax/e...
  • 我们知道Ajax不能做页面redirect和forward跳转,所以Ajax请求假如没登录,那么这个请求给用户的感觉就是没有任何反应,而用户又知道用户已经退出或是  Session 超时了。这个时候如何解决? Shiro 教程,Ajax...
  • 早上做的页面传值涉及汉字,一直数据没穿过去。...一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径, 加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP r
  • 解决ajax请求下,后台页面跳转无效问题 因为ajax请求方式,后台直接跳转是...2,但是ajax请求实际上就是通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面 换...
  • 根据返回的data,在jsp前端进行跳转,有没有好的办法,还是可以通过配置就可以实现; window.location太好使,可以跳转但是URL地址会显示具体的参数;
  • 急,请问各位谁会用ajax异步请求后,并将返回的XML格式的数据赋值到异步请求跳转的页面中的元素? :
  • 记一次Bug,最近在使用springmvc+mybatis整合实现简单的登录功能,但是在使用ajax发送请求后,controller接收到并且返回给前台数据后,执行success中设置的window.location.href来跳转界面 以下为问题代码 $...
  • 踩坑环境:前端:Ajax post请求,json类型数据;后端 C#+MVC,前后端正常通信,但是当后台验证权限通过时会RedirectToAction跳转到登录页,结果现象是后台正常执行登录页的渲染,渲染完成之后前端ajax进入error,...
  • springmvc ajax请求处理跳转问题

    千次阅读 2015-06-27 13:36:57
    1.在springmvc或者一套ajax框架的时候需要进行处理,拦截器或者拦截器的状态,尤其针对于session的时候进行的处理,怎么样很好的控制页面的跳转呢 在拦截器里面进行处理和跳转的时候,ajax基本上没有什么好的处理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,905
精华内容 18,362
关键字:

ajax不跳转请求数据