Node.js 如果对某些请求没有响应,浏览器是否会再次发送ajax请求?
我正在制作一个Nodejs应用程序,并使用jQuery将ajax请求发送到服务器端 奇怪的是,浏览器会多次发送ajax请求 这是因为服务器端没有返回响应吗Node.js 如果对某些请求没有响应,浏览器是否会再次发送ajax请求?,node.js,browser,Node.js,Browser,我正在制作一个Nodejs应用程序,并使用jQuery将ajax请求发送到服务器端 奇怪的是,浏览器会多次发送ajax请求 这是因为服务器端没有返回响应吗 $.ajax({ type: "POST", url: "/triggerBatchJobs", data: JSON.stringify(buildInfo), contentType: 'application/json' }).done(function(msg){ console.log(msg
$.ajax({
type: "POST",
url: "/triggerBatchJobs",
data: JSON.stringify(buildInfo),
contentType: 'application/json'
}).done(function(msg){
console.log(msg);
});
我通过这个代码片段发布ajax请求,我监视chrome开发工具中的网络选项卡,发现请求处于挂起状态,因为服务器端没有返回响应
浏览器是否会再次尝试发送和获取这些挂起请求的响应
顺便说一句,我在这个应用程序中使用socket.io。这个问题是由socket.io引起的吗
script.
var socket = io();
socket.on('complete',function(msg){
alert('Complete');
})
在node.js中
io.sockets.emit('complete');
奇怪的是,浏览器会多次发送ajax请求
不,事实上,如果发生错误,您应该再次发送请求
我的建议是在应用程序$.ajax
中设置一个断点,并检查停止的次数。您可以使用堆栈来了解调用的起始位置
这是因为服务器端没有返回响应吗
$.ajax({
type: "POST",
url: "/triggerBatchJobs",
data: JSON.stringify(buildInfo),
contentType: 'application/json'
}).done(function(msg){
console.log(msg);
});
不,如果请求过期,将调用错误回调。(, )
因此,没有建立超时
试一试
浏览器是否会再次尝试发送和获取这些挂起请求的响应
再说一遍,没有
我在这个应用程序中使用socket.io。这个问题是由socket.io引起的吗
script.
var socket = io();
socket.on('complete',function(msg){
alert('Complete');
})
我猜是不相关的。你有代码吗?你确定是同一个请求两次,而不是两个不同的请求吗?不知道第二个请求是否是浏览器加载favicon.ico文件。@loganfsmyth实际上在chrome的网络选项卡中,我只能看到该请求处于挂起状态。但在调试模式下的nodejs代码中,服务器端api将在几秒钟后再次调用。我想知道浏览器是否会再次发送那些未决请求的请求