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

标签 javascript jquery ajax firefox google-chrome

当我希望客户端停止长轮询时,我发回一个 AJAX 响应

"HUPWAIT"

这就是 Firebug 中的响应。

The response in FF.

但是当我尝试在我的 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 文档,从而产生您在调试器中看到的错误。将“Content-Type” header 添加到响应 (text/plain) 将强制浏览器正确处理文本。

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

相关文章:

php - Acquire_lock() 不起作用。机器人仍然快速发送请求。 PHP+AJAX

javascript - ajax调用后如何防止弹出窗口阻塞?

jQuery AJAX 数据多参数

php - 如何从字符串输出中删除回车符?

javascript - 如何将文本框放入表格数据中,其中的行已从另一个表格附加/移动?

javascript - 了解 JS 事件循环

php在ajax请求后从上一页获取表单值

Javascript - 快速删除对象数组中的重复项

javascript - Webpack 内联 CSS 背景图像

javascript - 准备好的 SQL 语句中的 NodeJS MSSQL