クライアントにロングポーリングを停止させたい場合は、次のAJAX応答を送り返します。
"HUPWAIT"
そして、これはfirebugでの応答がどのように見えるかです。
しかし、jsでAJAX応答を取得しようとすると、FirefoxとIE9では次の両方がfalseを返します。
$.ajax({
url: "/wait",
success: function(data) {
console.log(data == "\"HUPWAIT\""); //returns false
console.log(data == "HUPWAIT"); //also returns false
});
興味深いことに、同じコードがChromeでtrueを返します。
$.ajax({
url: "/wait",
success: function(data) {
console.log(data == "\"HUPWAIT\""); //returns true in Chrome
});
そして、次のコードを使用してFirefoxで(firebugを使用して)デバッグしようとすると、奇妙な応答が返されます。
$.ajax({
url: "/wait",
success: function(data) {
console.log(data); //returns Document
console.log(''+data); //returns [object XMLDocument]
});
ヘッダーは正常に見えます。
HTTP/1.1 200 OK
Proxy-Connection: Keep-Alive
Connection: Keep-Alive
Transfer-Encoding: chunked
Via: XXXXXXXXXX
Date: Mon, 10 Sep 2012 23:40:34 GMT
Server: nginx/1.2.3
しかし、firebugのXMLタブには奇妙なことがあります。
XML Parsing Error: syntax error Location: moz-nullprincipal:{16915058-4ead-41ef-a63e-1265ee278d74} Line Number 1, Column 1:
"HUPWAIT"
^
助言がありますか?