jquery - Ajax请求状态200,但是有错误

标签 jquery

我读了很多关于这个问题的主题。我并不孤单,但我没有读到好的答案。 我有一个使用 jquery 的 ajax 请求。我的响应是 ok (200),但是 jquery 出现错误。

url = 'http://127.0.0.1:8000/api/route?'+str
console.log(url);
jQuery.ajax({
  type: 'GET',
  url: url,
  //dataType:"json",

  success: function(data, textStatus, jqXHR) {
        console.log(data);  
  },
  error: function(jqXHR, textStatus, errorThrown) {
        console.log("error AJAX");
        console.log(jqXHR);
        console.log(textStatus);
        console.log(errorThrown);
  }
});

如果我在网络浏览器中打开我的 URL,一切似乎都正常:

{"version": 0.3,"status":0,"status_message": "Found route between points","route_geometry": "i|lV_sdeAuzfh@e`mP|}fh@lrlP","route_instructions": [],"route_summary":{"total_distance":1630115,"total_time":23,"start_point":"","end_point":""},"alternative_geometries": [],"alternative_instructions":[],"alternative_summaries":[],"route_name":["",""],"alternative_names":[["",""]],"via_points":[[3.83957,11.49760 ],[3.83905,11.49980 ]],"hint_data": {"checksum":639660167, "locations": ["y3MCAAAAAADUAAAAHgAAAEi713xf8-s_1dsFAECLEQC", "r3MCAAAAAAAQAAAADwAAAOsLxO6CrOA_odsFAByMEQB"]},"transactionId": "OSRM Routing Engine JSON Descriptor (v0.3)"}

在 Firebug 中,我可以阅读:

Réponse
Content-Language    fr
Content-Type    text/html; charset=utf-8
Date    Sun, 23 Jun 2013 20:33:51 GMT
Server  WSGIServer/0.1 Python/2.7.3
Vary    Accept-Language, Cookie
Requête
Accept  */*
Accept-Encoding gzip, deflate
Accept-Language fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Host    127.0.0.1:8000
Origin  null
User-Agent  Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:21.0) Gecko/20100101 Firefox/21.0

我无法解决这个问题。你能告诉我我的错误在哪里吗? firebug 中总是存在我的“错误”:

error AJAX
Object { readyState=0, status=0, statusText="error"}
error
(an empty string)

如果我在响应中和 jquery 中放置正确的内容类型,我的服务器将返回“json”,同样的错误:

GET http://127.0.0.1:8000/api/route?q=a&loc=3.839923...6665779&loc=3.839130971521939,11.499844431876904

200 OK
        27ms    
jquery.min.js (ligne 5)
ParamètresEn-têtes
Réponse
Content-Language    fr
Content-Type    application/json
Date    Sun, 23 Jun 2013 20:49:49 GMT
Server  WSGIServer/0.1 Python/2.7.3
Vary    Accept-Language, Cookie
Requête
Accept  application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Host    127.0.0.1:8000
Origin  null
User-Agent  Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:21.0) Gecko/20100101 Firefox/21.0

谢谢 问候 艾蒂安

最佳答案

看看添加 gzip header 。我在移动设备上很难找到引用资料,但还有其他与 gzip 响应处理相关的类似问题

关于jquery - Ajax请求状态200,但是有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17265136/

相关文章:

php - 我无法使用 Jquery、PHP 和 AJAX 将数据插入 MySQL 表

javascript - 通过单击标题显示和消失 div 内容

jquery - 如何使用 jQuery 在时间后更改文本?

javascript - jQuery - Ajax POST 请求转换为 GET 请求

jquery - 在 droppable 事件发生时将 jQuery 可拖动对象恢复到其原始容器

javascript - 如何在coffeescript中将两个jquery帖子合并为一个?

javascript - 使用 jQuery 单击一次元素

jquery - 为什么类没有设置attr?

jquery - 如何使用jquery删除字符串中的字符串的一部分

jquery - StrengthJS 密码强度在一个函数中有效,但在多个函数中不起作用