Ajax并发调用一个接一个地运行
Ajax Concurrent Call Running One after Another
我已经编写了一个简单的网页,希望能够在其中执行并发ajax请求。我知道我可以使用.when()在jquery中执行并发ajax请求,但我的情况并非如此。我有一个如下的功能:
function getData(tt, tf) {
$.ajax({
url : "/extpage.php",
type : "POST",
async: true,
data : {
testt : tt,
testf : tf
}
})
.done(function (toolbox) {
alert(data);
});
}
这个函数是从网页内的一个按钮调用的,我需要能够让用户随时调用这个函数(我知道浏览器可以支持的ajax请求的最大数量),而无需等待上一个ajax请求先完成,然后执行下一个请求。我希望每个呼叫都能并行处理。有什么线索可以告诉我如何获得它吗?
AJAX就是这样工作的。执行的每个调用都独立于任何其他浏览器活动(通常包括其他AJAX调用)运行。
给定您的函数,如果我连续调用getData()
十次,它将启动十个独立的HTTP请求。如果它们不是同时运行的,那么服务器可能一次不会回答多个请求,当然你对此无能为力。
我想你可能需要修改你的问题。
这个功能是从网页内的按钮调用的,我需要可以让用户在任何时候调用这个功能
这是默认的AJAX行为。AJAX调用是安全的。
async: true
是冗余的,true是异步的默认值。
你的代码应该按照你在这个问题中所问的去做,如果你仍然遇到问题,问题可能在其他地方。
最后一点:
$.when()
用于对其他并发/异步任务进行排队,与您在OP中建议的相反。
相关文章:
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 仅为一个窗体运行应用程序脚本
- 从另一个JSAppleScript运行另一个JS AppleScript时出现权限错误
- 如何使用特定的javascript函数创建一个url,以便在加载页面时运行
- 运行一个特定<脚本>(Dreamweaver)
- 如何运行在一个充满html的字符串中定义的javascript
- 运行“;非“;单击另一个函数中的函数仅一次
- 在触发x-editable之前运行一个函数
- jQuery:在for循环中运行youtube视频,播放最后一个视频
- 如何在另一个函数完成后运行
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 成功ajax:如果是200状态代码,则运行函数else另一个函数
- 为什么一个 $(document).ready(function() { 会阻止另一个运行
- 代码有什么问题?它给了我一个运行时错误
- 是否可以在node.js服务器上设置一个运行(服务器端)的socket.io客户端
- (JavaScript)不能一个接一个运行两个函数
- 需要帮助将vbs代码转换为jscript.我得到一个运行时错误类型不匹配
- 在我的网站上,我有一个非常慢的页面,在那里我可以找到一个运行良好的加载程序
- 在AngularJS 1.3.8中添加一个运行块