0 0

ajax 提交终止问题0

ajax 提交终止问题

比如提交了一个ajax请求。这个请求大概耗时1分钟。在返回给页面一个值。

问题:中途能不能用js或其他方法终止这个ajax请求
2012年7月31日 00:06

5个答案 按时间排序 按投票排序

0 0

doajax:function(option){
var rnd=new Date().getTime(),postPara = option['postPara']||{},timeouterStr= option['timeouter']||1000,url = contextpath+'/'+option['url'],type = option['type']||'get',dataType = option['dataType']||'json',args = Array.prototype.slice.call(arguments).slice(1),
errorType = {
'parsererror':'服务器未能正确返回数据格式或返回的数据为空,请稍后再试。',
'timeout':'请求超时,请稍后再试。',
'notmodified':'服务器那多次返回的数据相同,请稍后再试。'
},
errorHandle=option['errorHandle']||function(message){
alert(message);
},
callBack = option['callBack']||function(){
alert('Ajax has been successed but you have not callBack Function。\nExampale:{\n   \'url\':url,\n   \'postPara\':{\'para\':1},\n   \'callBack\':function(){\n        yourcode\n   }\n}');
return;
};
$.ajax({
url:url+'?rnd='+ rnd,
data:{
json:$.toJSON(postPara)
},
type:type,
asnyc:true,
timeout:timeouterStr,
dataType:dataType,
success:function(data){
var pData;
try{
pData = $.parseJSON(data);
}catch(e){
pData = data;
}
args.unshift(pData);
callBack.apply(this,args);
},
error:function(xhr,mesage,e){
errorHandle(errorType[mesage]);
}
})
};  这是我曾经封装过的
你可以看看

2012年7月31日 17:45
0 0

abort貌似只能中断前台的返回相应
像你说的这种情况应该用timeout限制一下
然后就能进行异常处理了  你可以自己再$.ajax的基础上再封装一个
$.ajax是可以设置timeout的

2012年7月31日 17:44
0 0

ajax有timeout参数的吧
timeoutNumber
设置请求超时时间(毫秒)。如果一个设置有$.ajaxSetup(),此设置将覆盖全局设置。例如,你可以使用这个属性来提供一个单一的请求比所有你所设置时间在一秒钟内的其他要求更长的超时。见$.ajaxSetup()全局超时。

2012年7月31日 17:35
0 0

设置请求超时

2012年7月31日 17:30
0 0


引用
1. $.get返回的数据类型是XMLHttpRequest,请参考手册。($.post、$.ajax、$.getJSON、$.getScript也同样)

2. XMLHttpRequest对象有abort()方法

注意:abort()后,ajax请求立即停止,但还是会执行后面的function()。如果想避免执行其中的操作,可以在function()开始位置加判断



http://blog.csdn.net/henanlzt/article/details/5888724

2012年7月31日 09:06

相关推荐

    js与jQuery终止正在发送的ajax请求的方法.docx

    在JavaScript和jQuery中,发起异步Ajax请求是常见的数据交互方式,它允许我们在不刷新页面的情况下与...同时,为了用户体验,我们应该处理好防止重复提交的问题。这些技巧对于优化Ajax应用的性能和用户体验至关重要。

    ajax 多年收集资料(15个教学文档和应用实例)

    - **跨域问题**:同源策略限制了Ajax请求,解决方法包括JSONP、CORS、代理服务器等。 - **兼容性问题**:旧版IE浏览器的ActiveXObject,以及对Promise、Fetch API的支持。 - **页面失去焦点**:长时间运行的Ajax请求...

    Ajax编程.pdf

    - **.NET**:需要安装.NET运行时环境,可能会遇到部署问题。 - **手持设备浏览器**:对Ajax的支持有限。 #### 七、总结 **Ajax**作为一种重要的前端技术,不仅提高了用户的体验,还极大地提升了Web应用的性能。...

    AJAX 源码范例

    08/8.2.9.html 使用abort方法取消一个请求范例 08/8.3.2.html 使用post方法向服务器提交数据范例 08/8.3.3.html 实现服务器相关的二级联动菜单范例 08/a.html 用于ajax获取文件的示例 08/...

    Ajax请求和Filter配合案例解析

    本文将详细介绍一个案例,说明如何在使用Ajax进行数据提交时,通过后端的Filter对输入数据进行合法性校验。 首先,Ajax请求是基于XMLHttpRequest对象发起的,它能够与服务器交换数据,而无需重新加载整个页面。通过...

    AJAX原理[收集].pdf

    由于AJAX最初由Internet Explorer通过ActiveX对象实现,其他浏览器后来才跟进,因此在编写AJAX代码时需要注意跨浏览器兼容性问题。通常,开发者会使用库(如jQuery)来简化这一步骤,确保在多种浏览器上正常工作。 ...

    征服ASP.NET 2.0 Ajax——Web开发技术详解(光盘使用说明)

    - **PostUser**:通过Ajax提交数据至服务器端进行更新处理。 - **ReturnText**:使用Ajax返回文本字符串数据。 - **ReturnXML**:使用Ajax读取XML格式的数据。 - **xmlhttpWeather**:实现异步获取天气预报数据的...

    ajax上传-

    传统的表单提交方式(`<form>`元素的`enctype`属性设为`multipart/form-data`)用于文件上传,但这种方式会刷新整个页面。而Ajax则需要处理二进制数据,即文件流,这在XMLHttpRequest早期版本中并不支持。直到HTML5...

    Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册

    根据提供的文件信息,我们可以梳理出以下知识点: ...它遵循MVC架构,提供了...此外,安全性也是开发中需要考虑的问题,如密码的存储需要采用加密方式,并且实际部署时还需要对用户输入进行过滤,防止SQL注入等安全漏洞。

    php防止伪造数据从地址栏URL提交的方法

    综上所述,防止伪造数据从URL提交涉及多方面的安全策略,包括但不限于使用POST请求、Ajax提交、服务器端验证、令牌机制、HTTPS加密以及防范其他Web安全威胁。在实际开发中,应结合具体情况采取相应的措施,确保应用...

    深入剖析$.ajax()方法

    $.ajax()方法是jQuery库中用于执行...总结来说,$.ajax()是jQuery中功能强大的异步请求工具,通过灵活配置其参数,可以实现各种复杂的交互需求,从简单的数据获取到复杂的数据提交和处理,都可通过这个单一方法来实现。

    jquery插件ajaxupload实现文件上传操作

    比如,`onSubmit`函数在文件提交前执行,可以用来验证文件的格式和大小,如果不符合要求则可以阻止上传并提示用户;`onComplete`函数则是在文件上传完成后执行,服务器会返回一个标志值,根据这个标志值可以弹出相应...

    JS实现网页抢购功能(触发,终止脚本)

    // 模拟AJAX提交 Ajax(function(data) { // 请求成功 if (data.result) { console.log('请求成功'); // 请求成功解锁 btn.setAttribute('lock', ""); // 还原按钮状态 btn.innerText = '提交'; } else { ...

    java笔试题.doc

    如果输入的内容包含非数字字符,弹出警告框并终止提交。 3. JavaScript 数字验证 在 JavaScript 中,可以使用 charAt 方法来遍历输入的字符串,并判断每个字符是否为数字。如果发现非数字字符,弹出警告框并终止...

    jquery获取checkbox的值并post提交

    如果没有任何复选框被选中,会弹出警告,并终止函数执行。 如果至少有一个复选框被选中,我们创建一个空数组`array`,然后遍历每个选中的复选框。在这个循环中,我们创建一个新的数组`array_push`,将复选框的值和...

    php防止伪造的数据从URL提交方法

    如果二者不匹配,说明数据不是从当前站点提交的,那么可以终止请求,返回警告信息。这个方法是一种基础的防御措施,但在很多情况下,它并不十分可靠。因为`HTTP_REFERER`头是由客户端浏览器提供的,可以被篡改,或在...

    工作流管理系统

    在工作流管理系统中,Ajax能够实现用户交互的实时性和无刷新体验,比如提交表单后立即更新状态,提高用户体验。 Java是一种广泛使用的面向对象的编程语言,特别适合于开发企业级应用,如工作流管理系统。Java的强大...

Global site tag (gtag.js) - Google Analytics