只是一个用于一般理解的快速问题。会不会是一个开放的 Web 套接字连接阻塞了 ajax 请求?因为在初始化 Web 套接字连接之前的 ajax 请求工作得很好,并且在我建立了 Web 套接字连接之后什么都没有发生。
$.ajax({
url: someUrl
}).done(function(data) {
// stuff done and calling initWebSocket()
}).error(function(data) {
// error stuff done
});
function initWebSocket() {
hostname = 'somehost';
ws = new WebSocket('ws://' + hostname + ':' + wsPort);
ws.onopen = function() {
console.log('Connected');
ws.send(initMessage);
}
ws.onmessage = function(msg) {
// do stuff on message received
}
ws.onclose = function() {
console.log('Disconnected');
}
}
$('#someButton').click(function(event) {
event.preventDefault();
$.ajax({
url: someUrl
}).done(function(data) {
console.log(data);
}).error(function(data) {
console.log(data);
});
});
就像提到的第一个 ajax 请求有效,第二个当我单击按钮时无效。有没有关于这个主题的信息,如果 web 套接字真的阻止了 ajax 请求,那么让它运行的解决方法是什么?谢谢。