`
zoutuo1986
  • 浏览: 178948 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

jquery.ajax重复提交出现的error

 
阅读更多

---IE8不会出现改错误,chrome 会出现

弹出页面重复提交之后,第一次提交进入success,后面的提交进入error。

jqXHR.readyState===0&&jqXHR.status===0

出现问题的原因:

第一次进入success之后,执行了关闭弹出页面的操作,导致浏览器正在关闭窗口,于是浏览器退回了正在执行的ajax请求,并返回readyState=0;

-------------------------------------------------------------

copy:http://www.justinball.com/2013/02/25/jqxhr-returning-readystate-0-and-status-0/

-----------------------------

title:

jqXHR Returning Readystate 0 and Status 0?

content:

I've seen this error a couple of times and I always forget what causes it so for my own sanity I post it here.

If you make an Ajax request and the response comes back with:

statusText: "error" status: 0 readyState: 0

then you likely have one of two problems: 1. You are making a cross domain request and the browser is shutting you down. Check to see if you can turn on CORS or try using JSONP.

  1. Your Ajax request was triggered via a form submit or clicking on a link and you didn't call e.preventDefault() inside of your event handler. The browser will go ahead and submit the form or follow the link and execute your Ajax code. The form submit or the link follow will win and the browser will immediately terminate your request and give you back a readyState 0.

I ran into the second issue with some Backbone code this evening. In my code the user clicks a button (really a link) and that link saves the model back to the server before traversing to the url specified in the anchor. I know you usually want to protect posts with a form POST but in this case I really do want to follow the url in the link but I need to make sure that the resource existed first and create it if it doesn't. (It's complicated).

 

分享到:
评论

相关推荐

    jquery.unobtrusive-ajax.rar

    2. **事件处理**:库内部监听`ajaxStart`、`ajaxSend`、`ajaxSuccess`、`ajaxError`等事件,提供了对Ajax请求生命周期的控制。开发者可以通过自定义事件处理器来扩展功能或处理错误。 3. **内容替换**:默认情况下...

    使用jQuery.form插件,实现完美的表单异步提交

    此外,`$.fn.ajaxSubmit`方法还可以接受一个完整的jQuery.ajax选项对象,这意味着你可以使用所有jQuery的Ajax选项,如`cache`、`timeout`、`contentType`等,来定制你的异步请求。 总结一下,jQuery.form插件通过...

    jQuery.Ajax 与action交互

    **jQuery.AJAX 与Action交互详解** 在Web开发中,前端与后端的数据交互是不可或缺的一部分,jQuery.AJAX 提供了一种高效且灵活的方式来实现客户端与服务器端的异步通信。本篇文章将深入探讨如何使用jQuery.AJAX与...

    jquery form jquery.form.js

    1. 异步提交:jQuery Form支持AJAX方式提交表单,使得页面无需刷新即可完成数据的提交,提升用户体验。 2. 文件上传:通过XMLHttpRequest Level 2,jQuery Form可以实现跨域文件上传,兼容多种浏览器。 3. 进度条...

    jquery.form.js

    1. **异步表单提交**:`jquery.form.js`允许开发者通过AJAX方式提交表单,避免了页面刷新,使得用户界面保持活跃。使用`$.ajaxSubmit()`或`$("#form").submit(function() { ... })`方法,可以轻松实现异步提交。 2....

    jquery.form.js和使用说明

    这个插件允许开发者轻松地实现无刷新的表单提交,提供了一种更优雅的Ajax方式来处理用户数据的提交,提高了用户体验。 1. **异步表单提交**:通过使用`$.ajaxForm()`或`$.ajaxSubmit()`方法,可以实现异步表单提交...

    jquery.from.js & juery.js

    在网页开发中,jQuery是一个非常重要的JavaScript库,它极大地简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。本文将深入探讨jQuery Form插件(即`jquery.form.js`)及其核心库`jquery.js`,并结合实际应用...

    详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    在深入探讨Jquery中的Ajax函数之前,我们先简要了解Ajax(Asynchronous JavaScript and XML)的概念。Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这使得Web应用程序可以更加流畅地运行,...

    ajaxFileUpload 报这错jQuery.handleError is not a function

    然而,从jQuery 1.8版本开始,这个方法已被废弃,取而代之的是使用`$.ajax.error`或新的Promise API中的`.fail()`方法来处理错误。 解决这个问题的方法有几种: 1. **回退jQuery版本**:如果你的应用程序依赖于`...

    jquery文件上传js:jquery.form.js

    1. **Ajax化文件上传**:`jquery.form.js`将传统的表单提交转变为Ajax方式,使得文件上传无需刷新页面,提供更好的用户体验。 2. **异步上传**:利用Ajax技术,文件上传可以在后台进行,用户可以继续浏览其他页面,...

    jQuery.spin.js自定义页面加载Loading动画代码

    5. **与其他jQuery插件的集成**:由于jQuery.spin.js是基于jQuery构建的,因此它可以方便地与其他jQuery插件(如Ajax请求、轮播图等)结合使用,为这些组件提供加载提示。 总的来说,jQuery.spin.js提供了一种简单...

    jquery.ajax 传参数到mvc的action

    在ASP.NET MVC中,还有其他方式传递数据,如使用`@Html.BeginForm()`创建表单,或者使用`@Ajax.ActionLink`和`@Ajax.BeginForm`结合`jQuery.unobtrusive-ajax.js`实现无刷新提交。然而,`$.ajax`提供了更灵活的控制...

    jquery.form.js下载_jquery.form.js上传文件插件下载

    jQuery.form.js是一款基于jQuery库的插件,它为开发者提供了方便、灵活的表单处理功能,尤其在异步(AJAX)提交表单方面表现出色。这款插件使得在网页上实现无刷新的文件上传和数据提交变得简单易行,大大提升了用户...

    jquery-ajax实例

    在JavaScript的世界里,jQuery是一个非常流行的库,它极大地简化了DOM操作、事件处理以及Ajax交互。本实例聚焦于"jQuery-AJAX",这是一项核心功能,用于在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容...

    jquery.form.min.js

    在Web开发中,jQuery是一个非常流行的JavaScript库,它简化了DOM操作、事件处理、动画以及Ajax交互等任务。而在处理表单(form)相关的操作时,jQuery Form插件是不可或缺的一部分。在给定的压缩包文件中,我们看到...

    jquery.mloading.zip

    在实际应用中,jQuery-Mloading可以与Ajax请求、页面跳转或者任何需要用户等待的操作结合使用,提供一致且优雅的加载体验。例如,在执行Ajax请求时,我们可以这样使用: ```javascript $.ajax({ url: 'your-api-...

    jquery.upload.js

    《使用jQuery.upload.js实现上传功能详解》 在Web开发中,文件上传是一个常见的需求,而jQuery.upload.js是一款基于jQuery的轻量级插件,它极大地简化了文件上传的实现过程,使得开发者能够快速构建功能丰富的文件...

    jquery.ui.autocomplete-Ajax

    **jQuery UI Autocomplete AJAX** jQuery UI的Autocomplete组件是一个强大的功能,它允许用户在输入时自动填充建议选项,极大地提高了用户体验。这个组件尤其适用于搜索框、表单输入和其他需要动态获取数据的场景。...

    jquery.form提交方式

    jQuery的`$.ajax()`函数和`$.post()`、`$.get()`等简化方法允许我们以非刷新的方式提交表单,这对于提升用户体验非常有益。 1. 使用`$.ajax()` ```javascript $('form').submit(function(event) { event....

Global site tag (gtag.js) - Google Analytics