2
我用jquery v1.10.2
和jquery.signalr-2.2.1.min.js
用于连接到SignalR hub
但我得到以下的铬控制台警告:SignalR连接得到警告 - 在主线程同步的XMLHttpRequest已过时
jQuery的1.10.2.js: 8686 [弃用] 主线程上的同步XMLHttpRequest已弃用,因为它对最终用户的体验有不利影响。如需更多帮助,请查询 https://xhr.spec.whatwg.org/。
完整的控制台日志:
[10:20:22 GMT+0200 ] SignalR: Window unloading, stopping the connection.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Stopping connection.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Closing the Websocket.
:7700/Scripts/jquery-1.10.2.js:8686
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
send @ :7700/Scripts/jquery-1.10.2.js:8686
ajax @ :7700/Scripts/jquery-1.10.2.js:8150
ajax @ ajax.aspnetcdn.com/ajax/signalr/jquery.signalr-2.2.1.min.js:9
ajaxAbort @ ajax.aspnetcdn.com/ajax/signalr/jquery.signalr-2.2.1.min.js:9
abort @ ajax.aspnetcdn.com/ajax/signalr/jquery.signalr-2.2.1.min.js:9
stop @ ajax.aspnetcdn.com/ajax/signalr/jquery.signalr-2.2.1.min.js:9
(anonymous) @ ajax.aspnetcdn.com/ajax/signalr/jquery.signalr-2.2.1.min.js:9
dispatch @ :7700/Scripts/jquery-1.10.2.js:5109
elemData.handle @ :7700/Scripts/jquery-1.10.2.js:4780
ajax.aspnetcdn.com/ajax/signalr/jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Fired ajax abort async = false.
ajax.aspnetcdn.com/ajax/signalr/jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Stopping the monitoring of the keep alive.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Client subscribed to hub 'chathub'.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Negotiating with 'http://localhost:7700/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D'.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: webSockets transport starting.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Connecting to websocket endpoint 'ws://localhost:7700/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=Iu%2BQ6Y9OhJoGSDi6J%2FoC0duclYpWcU1FtCvGj%2B9Jvg%2BYCW8MbyptAMV5E2MyApaYzucZjotsOQyIIzbAua9WfK4G59tZMn4j%2FNXdLAygbYvgvsUFWF6AhG6YoLiU3Oqy&connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D&tid=8'.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Websocket opened.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: webSockets transport connected. Initiating start request.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: The start request succeeded. Transitioning to the connected state.
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Now monitoring keep alive with a warning timeout of 13333.333333333332, keep alive timeout of 20000 and disconnecting timeout of 30000
jquery.signalr-2.2.1.min.js:9
[10:20:22 GMT+0200 ] SignalR: Triggering client hub event 'SetConnectionId' on hub 'ChatHub'.
我自己制作的signalr这样的连接:
$(function() {
var chat = $.connection.chatHub;
chat.client.setConnectionId = function (connectionId) {
console.log("ConnectionId: ", connectionId);
};
$.connection.hub.url = 'http://localhost:7700/signalr';
$.connection.hub.logging = true;
$.connection.hub.start().done(function() {
});
});
我怎样才能解决这个警告呢?
很难说不知道你正在使用哪个IDE,SignalR,ASP版本,但也许尝试使用更新的JQuery版本,禁用浏览器链接也许?我使用的是VS 2017,ASP.Net Core 1.1.1,AspNetCore.SignalRServer 0.2.0-rtm-22752和禁用浏览器链接。 –