【发布时间】:2014-12-09 11:00:38
【问题描述】:
我正在制作一个 Nodejs 应用程序,我正在使用 jQuery 向服务器端发送 ajax 请求。
奇怪的是,浏览器会多次发送ajax请求。
这是因为服务器端没有返回响应吗?
$.ajax({
type: "POST",
url: "/triggerBatchJobs",
data: JSON.stringify(buildInfo),
contentType: 'application/json'
}).done(function(msg){
console.log(msg);
});
我通过此代码 sn-p 发布 ajax 请求,我在 chrome 开发工具中监控网络选项卡,发现请求处于挂起状态,因为服务器端没有返回响应。
浏览器是否会尝试再次发送并获取这些待处理请求的响应?
顺便说一句,我在这个应用程序中使用了 socket.io。是socket.io的问题吗?
script.
var socket = io();
socket.on('complete',function(msg){
alert('Complete');
})
在 node.js 中
io.sockets.emit('complete');
【问题讨论】:
-
你有代码吗?
-
你确定这是两次相同的请求,而不是两个不同的请求?想知道第二个请求是否是浏览器加载 favicon.ico 文件。
-
@loganfsmyth 实际上在 chrome 的网络选项卡中,我只能看到该请求处于待处理状态。但是在我的调试模式下的nodejs代码中,服务器端api将在几秒钟后再次被调用。我想知道浏览器是否会再次为那些待处理的请求发送请求