javascript - 无法从jQuery AJAX请求获得响应

原文 标签 javascript jquery ajax firefox google-chrome

当我希望客户停止长时间轮询时,我会发送回AJAX响应

"HUPWAIT"


这就是响应在萤火虫中的样子。



但是,当我尝试在我的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)中添加“ Content-Type”标头将强制浏览器正确处理文本。

关于javascript - 无法从jQuery AJAX请求获得响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12360951/

相关文章:

javascript - jQuery Ajax,覆盖 onreadystatechange 处理程序

javascript - 如何查询 firestore() 以获取 graphQL 解析器?

javascript - 单行王牌编辑器

javascript - 如何单击按钮并在webdriver中触发javascript函数?

php - 动态选择框使用AJAX或jQuery和PHP填充文本字段

javascript - document.ready和async有什么区别?

javascript - 将Javascript放置到PHP变量中-用于格子

jquery - 使单选按钮看起来像按钮

javascript - JQuery 无法处理 AJAX 请求

php - 动态提取用php和ajax更新的html表