大家好,今天给各位分享ajax设置超时时间的一些知识,其中也会对ajax超时进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
本文目录
- jQuery.ajax()的参数
- 前端访问后端超时时间怎么设置
- ajax设置响应时间长怎么办
- ajax 怎么设置超时
- jquery ajax 默认超时时间是多少毫秒
- ajax设置响应时间长
- Ajax post请求超时问题
一、jQuery.ajax()的参数
options(可选)ObjectAJAX请求设置。所有选项都是可选的。 asyncBoolean
(默认: true)默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它 *** 作必须等待请求完成才可以执行。
发送请求前可修改 XMLHttpRequest对象的函数,如添加自定义 HTTP头。XMLHttpRequest对象是唯一的参数。这是一个 Ajax事件。如果返回false可以取消本次ajax请求。
function(XMLHttpRequest){ this;//调用本次AJAX请求时传递的options参数}cacheBoolean(默认: true,dataType为script和jsonp时默认为false) jQuery 1.2新功能,设置为 false将不缓存此页面。
请求完成后回调函数(请求成功或失败之后均调用)。参数: XMLHttpRequest对象和一个描述成功请求类型的字符串。 Ajax事件。
function(XMLHttpRequest, textStatus){ this;//调用本次AJAX请求时传递的options参数}contentTypeString(默认: application/x- *** -form- *** lencoded)发送信息至服务器时内容编码类型。默认值适合大多数情况。如果你明确地传递了一个content-type给$.ajax()那么他必定会发送给服务器(即使没有数据要发送)
这个对象用于设置Ajax相关回调函数的上下文。也就是说,让回调函数内this指向这个对象(如果不设定这个参数,那么this就指向调用本次AJAX请求时传递的options参数)。比如指定一个DOM元素作为context参数,这样就设置了success回调函数的上下文为这个DOM元素。就像这样:
$.ajax({ *** l: test.html, context: document.body, success: function(){$(this).addClass(done);}});
发送到服务器的数据。将自动转换为请求字符串格式。GET请求中将附加在 URL后。查看 processData选项说明以禁止此自动转换。必须为 Key/Value格式。如果为数组,jQuery将自动为不同值对应同一个名称。如{foo:[bar1, bar2]}转换为'&foo=bar1&foo=bar2'。
给Ajax返回的原始数据的进行预处理的函数。提供data和type两个参数:data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
function(data, type){//对Ajax返回的原始数据进行预处理 ret *** n data//返回处理后的数据}dataTypeString预期服务器返回的数据类型。如果不指定,jQuery将自动根据 HTTP包 MIME信息来智能判断,比如XML MIME类型就被识别为XML。在1.4中, *** ON就会生成一个J *** aScript对象,而script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:
xml:返回 XML文档,可用 jQuery处理。
html:返回纯文本 HTML信息;包含的script标签会在 *** dom时执行。
script:返回纯文本 J *** aScript代码。不会自动缓存结果。除非设置了cache参数。'''注意:'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
jsonp: *** ONP格式。使用 *** ONP形式调用函数时,如 my *** l?callback=? jQuery将自动替换?为正确的函数名,以执行回调函数。
(默认:自动判断(xml或 html))请求失败时调用此函数。有以下三个参数:XMLHttpRequest对象、错误信息、(可选)捕获的异常对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是timeout, error, notmodified和 parsererror。Ajax事件。
function(XMLHttpRequest, textStatus, errorThrown){//通常 textStatus和 errorThrown之中//只有一个会包含信息 this;//调用本次AJAX请求时传递的options参数}globalBoolean(默认: true)是否触发全局 AJAX事件。设置为 false将不会触发全局 AJAX事件,如 ajaxStart或 ajaxStop可用于控制不同的 Ajax事件。
(默认: false)仅在服务器数据改变时获取新数据。使用 HTTP包 Last-Modified头信息判断。在jQuery 1.4中,他也会检查服务器指定的'etag'来确定数据没有被修改过。
jsonpString在一个jsonp请求中重写回调函数的名字。这个值用来替代在callback=?这种GET或POST请求中URL参数里的callback部分,比如{jsonp:'onJsonPLoad'}会导致将onJsonPLoad=?传给服务器。
jsonpCallbackString为jsonp请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。这主要用来让jQuery生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。
用于响应HTTP访问认证请求的密码
(默认: true)默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 application/x- *** -form- *** lencoded。如果要发送 DOM树信息或其它不希望转换的信息,请设置为 false。
只有当请求时dataType为jsonp或script,并且type是GET才会用于强制修改charset。通常只在本地和远程的内容编码不同时使用。
请求成功后的回调函数。参数:由服务器返回,并根据dataType参数进行处理后的数据;描述状态的字符串。 Ajax事件。
function(data, textStatus){// data可能是 xmlDoc, jsonObj, html, text,等等... this;//调用本次AJAX请求时传递的options参数}
如果你想要用传统的方式来序列化数据,那么就设置为true。请参考工具分类下面的jQuery.param *** 。
设置请求超时时间(毫秒)。此设置将覆盖全局设置。
(默认: GET)请求方式(POST或 GET),默认为 GET。注意:其它 HTTP请求 *** ,如 PUT和 DELETE也可以使用,但仅部分浏览器支持。
(默认:当前页 *** )发送请求的 *** 。
用于响应HTTP访问认证请求的用户名
需要返回一个XMLHttpRequest对象。默认在IE下是ActiveXObject而其他情况下是XMLHttpRequest。用于重写或者提供一个增强的XMLHttpRequest对象。这个参数在jQuery 1.3以前不可用。描述:加载并执行一个 *** 文件。
jQuery代码:$.ajax({ type: GET, *** l: test.js, dataType: script});
保存数据到服务器,成功时显示信息。
jQuery代码:$.ajax({ type: POST, *** l: some.php, data: name=John&location=Boston, success: function(msg){ alert( Data S *** ed:+ msg);}});
jQuery代码:$.ajax({ *** l: test.html, cache: false, success: function(html){$(#results).append(html);}});
同步加载数据。发送请求时锁住浏览器。需要锁定用户交互 *** 作时使用同步方式。
jQuery代码: var html=$.ajax({ *** l: some.php, async: false}).responseText;
发送 XML数据至服务器。设置 processData选项为 false,防止自动转换数据格式。
var xmlDocument= [create xml document];$.ajax({ *** l: page.php, processData: false, data: xmlDocument, success: handleResponse});
$.post(test.php,{name:name,pwd:pwd},function(msg){
test.php里面用$_POST[name]和$_POST[pwd]接收参数.
$.post之一个参数是 *** l,{}这里里面的是参数名称和值之间用:非开,多个值用,分开,最后一个是返回的函数msg就是返回的结果。根据自己的需要返回不用的数据。
$.get和post一样,php接收的话改成$_GET[name]和$_GET[pwd]
二、前端访问后端超时时间怎么设置
在后端设置超时时间、在前端设置超时时间。
1、在后端设置超时时间:后端服务可以在配置文件中设置超时时间,在SpringBoot中,可以在application.properties文件中设置属 *** ,单位为毫秒。
2、在前端设置超时时间:前端在发送请求时,可以在请求参数中设置timeout属 *** ,在jQuery的$.ajax *** 中,可以设置timeout为6000毫秒。
三、ajax设置响应时间长怎么办
ajax请求时有个参数可以借鉴一下\x0d\x0 *** ar ajaxTimeOut=$.ajax({\x0d\x0a *** l:'',//请求的URL\x0d\x0atimeout: 1000,//超时时间设置,单位毫秒\x0d\x0atype:'get',//请求方式,get或post\x0d\x0adata:{},//请求所传参数,json格式\x0d\x0adataType:'json',//返回的数据格式\x0d\x0asuccess:function(data){//请求成功的回调函数\x0d\x0aalert("成功");\x0d\x0a},\x0d\x0acomplete: function(XMLHttpRequest,status){//请求完成后最终执行参数\x0d\x0aif(status=='timeout'){//超时,status还有success,error等值的情况\x0d\x0a\x0d\x0a ajaxTimeOut.abort();//取消请求\x0d\x0a alert("超时");\x0d\x0a\x0d\x0a}\x0d\x0a}\x0d\x0a});\x0d\x0a\x0d\x0a设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时则取消请求
四、ajax 怎么设置超时
1.ajax语法去设置单位毫秒,例如:
2.tomcat配置 server.xml单位毫秒
3.apache的配置文件 httpd.conf,单位秒
修改以上几个地方,发现还是没有生效,最终 *** 在了mod_jk模块,
mod_jk简称JK,是Apache服务器的一个可 *** 模块,用以为Apache或I *** 服务器提供处理 *** P/Servlet的能力。
也就是说JK的设置可能覆盖了apache2和tomcat以及ajax的设置。
JK的配置文件/etc/httpd/conf/workers.properties内容如下:
看到这个数字正好是5分钟,跟异常现象相一致,改大之后重启,正常!
五、jquery ajax 默认超时时间是多少毫秒
1、默认未配置,即不启用超时。给timeout赋值设置请求超时时间(毫秒),此设置将覆盖全局设置。
2、Ajax请求是限时的,所以错误警告被捕获并处理后,可以用来提升用户体验。请求超时这个参 *** 常就保留其默认值,要不就通过jQuery.ajaxSetup来全局设定,很少为特定的请求重新设置timeout选项。
3、jQuery底层 AJAX实现。简单易用的高层实现见$.get,$.post等。$.ajax()返回其创建的 XMLHttpRequest对象。大多数情况下无需直接 *** 作该函数,除非需要 *** 作不常用的选项,以获得更多的灵活 *** 。
4、最简单的情况下,$.ajax()可以不带任何参数直接使用。
5、注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置。
6、参考资料:百度百科-jQuery.ajax()
六、ajax设置响应时间长
1、ajax请求时有个参数可以借鉴一下
2、timeout: 1000,//超时时间设置,单位毫秒
3、type:'get',//请求方式,get或post
4、data:{},//请求所传参数,json格式
5、dataType:'json',//返回的数据格式
6、success:function(data){//请求成功的回调函数
7、complete: function(XMLHttpRequest,status){//请求完成后最终执行参数
8、if(status=='timeout'){//超时,status还有success,error等值的情况
9、 ajaxTimeOut.abort();//取消请求
10、设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时则取消请求
七、Ajax post请求超时问题
先声明,我不知道如何解决这个问题,但我想提一些建议。
需要4、5分钟的 *** 作我不清楚具体是什么,如果是单纯的数据库 *** 作之类的这个设计就有问题;如果是数据量十分大的 *** 作那么应该考虑缓存、预处理等。
还有,你可以发送数据请求到后台,后台接收后便立即返回调用成功,然后把4,5分钟的 *** 作放到另一个线程里去做,然后对每一次的请求后台都做一个静态的唯一标识,然后把标识返回前台,然后4,5分钟之后前台通过这个标识去后台找结果,或者不确定 *** 作所需时间就缩短轮询的间隔,比如每30秒一请求,后台 *** 作不完成便继续等待下一次请求。
OK,本文到此结束,希望对大家有所帮助。