jquery的ajax提交后,会跳转页面

今天在写代码的时候,遇到一个很奇怪的问题,一个form表单,用的是ajax的方式提交。结果,在服务器端php中,使用exit(),函数后都不能停止,并且继续跳转到本页。请求如下:

第一个请求中,其实我已经停止了代码,但程序并没有执行到,但返回的也是200状态码。

虽然,请求返回的是200,但查看reponse时,却发现是空的。

后来经过排查发现,原来是前端写的页面已经在input控件上,写好了type="submit"(都怪自己粗心,居然没看看),然后真相大白了。原因是,提交按钮绑定了,ajax提交的同时,又执行了form表单请求。而from表单请求,本身又会刷新页面。

从这里可以简单看出,js会先执行用户绑定的事件,然后再去执行form表单提交。奇怪的是为什么第一个请求都能返回200了,却不能正常执行服务器端的代码呢?

时间: 2024-08-28 18:24:47

jquery的ajax提交后,会跳转页面的相关文章

一些理解-过滤器,拦截器,ajax提交后不跳转,document.location.href无效,回调函数。

1.struts2中过滤器和拦截器的工作流程: request-->执行自定义过滤器doFilter方法中的chain.doFilter()方法前的代码-->执行默认过滤器doFilter方法中的chain.doFilter()方法前的代码-->执行默认拦截器-->执行自定义拦截器-->访问服务器资源(action,css,html,jsp...)-->执行自定义拦截器-->执行默认拦截器-->执行默认过滤器的doFilter方法中chain.doFilte

ajax提交session超时跳转页面使用全局的方法来处理

来自:http://www.jb51.net/article/43770.htm 如果是ajax提交,超时时从服务器发出的跳转命令就不会起作用,所以如果是session超时,而且是在ajax请求,就在响应头里,再用一个全局的方法来处理session超时要跳转的页面. 在过滤器中写入如下方法:(未测试) public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws I

Ajax 提交session实效跳转到完整的登陆页面

(function($){ // 保存原有的jquery ajax; var $_ajax = $.ajax; $.ajax = function(options){ var originalSuccess, mySuccess, success_context; if (options.success) { // save reference to original success callback originalSuccess = options.success; success_cont

jQuery 中 ajax 提交数据应用的一个小demo

举一个jquery中ajax的应用小 demo 便于以后的更多项目拓展 ,这里要注意的是保存的文件名问题 ... ajax02.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="form&qu

jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法

jQuery(function ($) { // 备份jquery的ajax方法 var _ajax = $.ajax; // 重写ajax方法,先判断登录在执行success函数 $.ajax = function (opt) { var _success = opt && opt.success || function (a, b) { }; var _opt = $.extend(opt, { success: function (data, textStatus) { // 如果后

关于form表单提交数据后不跳转页面+ajax接收返回值的处理

1.前台的form表单建立,注意action.enctype的内容, 2.通过添加一个隐藏的iframe标签使form的target指向iframe来达到不跳转页面的效果,同时需要在js里获取iframe里的内容(即后台利用GSON传回来的返回值). 代码部分: <form id="form1"  action="../PublishPostingsServlet"  enctype="multipart/form-data"  metho

基于SpringMVC与jquery的ajax提交表单的若干情况详解

在日常的业务中,我们往往使用的是ajax提交页面数据,而不用form的action来提交整个表单.现在我来分享一下我在日常工作中遇到的一些问题. 一.$.post.$.get.$.ajax三者的区别: 顾名思义,$.post和$.get分别是采用post方式和get方式向服务器发送请求.两者的不同是,get请求的参数是在url直接以url?name1=value1&name2=value2的形式拼接而成,而post请求的参数会以请求正文的形式传送到服务器,这个学习过javaweb知识的应该都知道

jQuery实现ajax提交form表单(可以是提交json),用springmvc接收。图文详解

第一种方法(简单易用,防蚊虫): 1.1 从form表单到congtroller接收.1 是form表单,2 是ajax提交 3 springmvc接收 1.2 debug 看后台数据,看到了吧,userEO接收到数据了 1.3 有人想看看seralize和seralizeArray数据不同 seralize:id=1&name=xiaohua&age=18&sex=man seralizeArray[ id 1],[ name xiaohua],[ age 18],[ sex m

jquery 3秒后自动跳转页面

<!DOCTYPE html><html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>跳转页面</title> <script src="jquery.min.js"></script> <script language=