我在我的系统中使用Long Polling作为推送机制。 它在Firefox和Chrome中运行良好,但在IE8中行为很奇怪:它加载OK 5次(即我能够刷新(F5)页面5次,加载html并且所有脚本都正确运行)之后,IE8拒绝执行和网络连接(我已经与Fiddler2核对过),只是无限地显示“加载”图标。 在这个阶段唯一的解决方法是关闭并打开浏览器本身。 我正在使用JQuery和php。 这是我的初始化代码: setTimeout( function() // called from $(function(){}), jquery page ready event { start_polling(); },1000); function start_polling() { $.ajax( { url: “/push”, // must avoid cache because sometimes user is logged in and sometimes not data: { “anticache”:Math.random() }, type: “post”, timeout: 30000, // half a minute before each restart […]
我正在使用MVC 2中的长轮询开发一个简单的陌生人聊天应用程序。如果我打开应用程序不同的浏览器,它在我的开发机器上工作正常..我的意思是如果我在IE和Mozilla中加载应用程序,它工作正常 如果我在浏览器的两个选项卡中使用该应用程序(例如:IE),则不会从两个选项卡中触发长轮询。我的意思是,有一个启动按钮可以启动聊天,从而触发长轮询。 我可以看到它在调试时调用动作..而我的问题是,当我从第一个选项卡中单击启动按钮时,它会触发一个ajax请求(长轮询(此请求在服务器上等待直到另一个请求来))然后我单击在选项卡2中的启动按钮,它不会触发ajax请求,直到从服务器返回第一个请求(超时后)。 为什么会这样? 我阅读像浏览器将阻止多个ajax请求..这是一个原因吗? ..如果我使用不同的浏览器,它的工作正常。只有在同一个浏览器中选择两个选项卡才会出现问题
在创建聊天系统期间,我使用长生命请求来获取消息,并使用jquery请求发送如下消息: * 发送:* $(“#btn”).click(function () { $.ajax({ type: “POST”, url: “Chat.aspx/Insert”, data: “{ ‘Str’ :'” + $(“#txtStr”).val() + “‘ }”, contentType: “application/json; charset=utf-8”, dataType: “json”, success: function (data) { }, error: function () { } }); }); 收到: function Refresh() { $.ajax({ type: “POST”, url: “Chat.aspx/GetRecords”, data: “{ ‘Id’ : ” + $(“#hdnV1”).val() + “}”, […]
我最近在StackOverflow上问了一个关于我的函数的问题,人们建议我使用Ajax Long Polling。 我花了几天时间研究这个主题,并尝试编写基本的长轮询代码,但没有一个有效,我根本无法完成任何工作。 这是我的基本function: var interval=self.setInterval(“checkformessages()”,4000) function checkformessages() { $(‘#incomingmessages’).load(‘checkfornewmessages.php?username=&otherchatuser=’); } 有人能够告诉我如何将其转换为基本的长轮询function,或者甚至直接指向我需要到达的路径。 很感谢任何forms的帮助。 谢谢!
我的页面上有一个很长的轮询请求。 服务器端的脚本在20秒后设置为超时。 因此,当长轮询“空闲”并且用户按下另一个按钮时,该新请求的发送被延迟,直到前一个脚本超时。 我看不出jQuery方面的代码有什么问题。 为什么onclick事件会延迟? function poll() { $.ajax({ url: “/xhr/poll/1”, data: { user_id: app.user.id }, type: “POST”, dataType: “JSON”, success: pollComplete, error: function(response) { console.log(response); } }); } function pollComplete() { poll(); } function joinRoom(user_id) { $.ajax({ url: “/xhr/room/join”, dataType: “JSON”, type: “POST”, data: { user_id: app.user.id, room_id: room.id } }); } Join ############ […]