Javascript Can';无法从jQueryAjax请求获取响应
当我希望客户端停止长轮询时,我会返回一个Javascript Can';无法从jQueryAjax请求获取响应,javascript,jquery,ajax,firefox,google-chrome,Javascript,Jquery,Ajax,Firefox,Google Chrome,当我希望客户端停止长轮询时,我会返回一个 "HUPWAIT" 这就是firebug中的响应 但是,当我尝试在js中获取AJAX响应时,Firefox和IE9中的以下两个都返回false: $.ajax({ url: "/wait", success: function(data) { console.log(data == "\"HUPWAIT\""); //returns false console.log(data == "HUPWAIT"); //als
"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"
^
有什么建议吗?Firefox/IE将尝试将AJAX(X=XML)响应解析为XML文档,从而在调试器中产生错误。将“内容类型”标题添加到响应(
text/plain
)将强制浏览器正确处理文本。Firefox/IE将尝试将AJAX(X=XML)响应解析为XML文档,从而在调试器中产生错误。将“内容类型”标题添加到响应(text/plain
)将强制浏览器正确处理文本。您是否尝试在AJAX调用中指定dataType
$.ajax({
url: "/wait",
dataType: "text",
success: function(data) {
console.log(data == "\"HUPWAIT\""); //returns false
console.log(data == "HUPWAIT"); //also returns false
});
您是否尝试过在AJAX调用中指定
dataType
$.ajax({
url: "/wait",
dataType: "text",
success: function(data) {
console.log(data == "\"HUPWAIT\""); //returns false
console.log(data == "HUPWAIT"); //also returns false
});
您还可以检查原始响应文本:
$.ajax({
url: "/wait",
success: function(data, status, jqXHR) {
console.log(jqXHR.responseText == "\"HUPWAIT\"");
console.log(jqXHR.responseText == "HUPWAIT");
console.log(jqXHR.responseText);
});
您还可以检查原始响应文本:
$.ajax({
url: "/wait",
success: function(data, status, jqXHR) {
console.log(jqXHR.responseText == "\"HUPWAIT\"");
console.log(jqXHR.responseText == "HUPWAIT");
console.log(jqXHR.responseText);
});