【发布时间】:2016-04-19 15:02:12
【问题描述】:
所以我使用 AJAX 多次点击一个 url,我面临的问题是即使代码应该完成多个请求,也只有一个 AJAX 请求完成。我在终端中运行了以下代码:
var item_arr = ['a','b'];
item_arr.forEach(function(item_name){
$.ajax({url:'https://example.com:port/',
type:'POST',
data:{ 'item':item_name },
success:function(res){
console.log(res);
}
});
});
我主要想问的是:
- 这段代码有什么问题吗?
- 或者对特定 url 的并行请求数量是否有限制(只有两个)?
另外,我正在使用 NODEJS(request) 来构建应用程序,我只是使用 jquery 检查它是否在 jquery 中工作,但是这两种技术在这个问题上的表现相似。
更新: 正如 Rion 建议的那样,我比较了成功和不成功请求的 curl 请求。成功命中的标题如下所示:
'Origin: http://evil.com/'
'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8'
'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/49.0.2623.87 Chrome/49.0.2623.87 Safari/537.36'
'Content-Type: application/x-www-form-urlencoded'
'Accept: */*'
'Referer: http://stackoverflow.com/questions/33243685/nodejs-a-better-way-to-handle-ajax-request-to-the-server'
'Connection: keep-alive'
而对于不成功的请求有以下标头:
'Accept: */*'
'Referer: http://stackoverflow.com/questions/33243685/nodejs-a-better-way-to-handle-ajax-request-to-the-server'
'Origin: http://stackoverflow.com'
'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/49.0.2623.87 Chrome/49.0.2623.87 Safari/537.36'
'Content-Type: application/x-www-form-urlencoded'
Accept-Encoding 有什么不同吗?
【问题讨论】:
标签: javascript jquery ajax node.js loops