我正在我的JS中发出请求并在Chrome和IE中从服务器获取json响应,但由于某些原因我从firefox获得的响应无法正常工作。看起来它没有用UTF-8编码,但我知道它来自服务器,我的所有文件也是如此。我在FF中得到的响应看起来像
incoming Text ��[�{�"�m�e�t�a�d...
(我切断了绝大多数,但每个角色之间都有问号)。然后控制台说JSON.parse: unexpected character at line 1 column 1 of the JSON data"
我的.ajax电话如下:
var locationURL = "https://myData.com/Metadata.json";
$.support.cors = true;
var jsonData = $.ajax({
url: locationURL,
method: "GET",
dataType: "json",
cache: false,
});
我回来的响应标题(来自firebug)是:
Accept-Ranges: bytes
Access-Control-Allow-Orig...: *
Connection: Keep-Alive
Content-Length: 81950
Content-Type: application/json; charset=utf-8
Date: Mon, 10 Aug 2015 14:03:51 GMT
Etag: "c80b2-1401e-51c80111c1d00"
HSID: Q01-21C D=601
Keep-Alive: timeout=5, max=100
Last-Modified: Tue, 04 Aug 2015 18:00:52 GMT
Server: Apache/2.4.10 (Unix) OpenSSL/1.0.1j
同样,在Chrome和IE中,我得到的响应是完全有效的JSON,没有所有这些额外的字符。我在控制台中看到chrome在输入URL时向URL发出请求,但是在firefox控制台中它将?_=1439215432794
添加到URL的末尾,这可能与它有关吗?如何让它不添加?当我将它保存在locationURL中时,我在URL的末尾添加了#
,但这并没有什么区别。我也试过Jquery的getJSON
而不是.ajax
,但这也没有帮助。任何帮助或方向将不胜感激!感谢。