Node.js 如果对某些请求没有响应,浏览器是否会再次发送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

我正在制作一个Nodejs应用程序,并使用jQuery将ajax请求发送到服务器端

奇怪的是,浏览器会多次发送ajax请求

这是因为服务器端没有返回响应吗

 $.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将在几秒钟后再次调用。我想知道浏览器是否会再次发送那些未决请求的请求