javascript - 打开的网络套接字连接是否阻止了 ajax 请求?

标签 javascript ajax jquery websocket

只是一个简单的问题,以供一般理解。可能是开放的网络套接字连接正在阻止 ajax 请求吗?因为 ajax 请求在网络套接字连接初始化之前工作得很好,而在我建立网络套接字连接之后什么也没有发生。

$.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 请求有效,第二个请求在我单击按钮时无效。有没有关于这个主题的信息,如果网络套接字真的阻止了 ajax 请求,那么让它运行的解决方法是什么?谢谢。

最佳答案

调用应该是异步的,但可能连接失败了。尝试为 websocket 添加一个 onerror 处理程序,看看会发生什么。

ws.onerror = function(){ console.log(evt.data); }

此外,如果您可以制作一个 JSFiddle 或包含 HTML,则可能是按钮事件处理程序错误并且它与 websocket 代码根本无关。

关于javascript - 打开的网络套接字连接是否阻止了 ajax 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17640816/

相关文章:

javascript - Ajax 不传递参数

javascript - 输入键以提交 Ajax 表单

javascript - 使用 ng-html2js 进行 AngularJS 指令测试

javascript - 如何为道场 Accordion 设置不同的 child 尺寸

php - Ajax jquery post 脚本不工作

Javascript - 将动态字符串分配给变量

php - Javascript/jQuery 检查 PHP 输出是否为 json - 如何?

javascript - 如何使用 jQuery 验证表单?

javascript - 我正在尝试拆分一个包含大写字母的单词。当重复出现时失败

javascript - 使用 ng-repeat 和多个 ng-show 进行过滤性能