知道为什么以下 Ajax 调用在 Chrome 中失败,但在 Firefox 中失败?
$.ajax({
type: "GET",
contentType: "text/csv; charset=utf-8",
dataType: "text",
cache: false,
url: "http://127.0.0.1:8080/param1/param2?param3=csv&otherParams=type1,type2,type3"
})
.done(function(data) {
console.debug("Data received from ajax call: " + data);
})
.fail(function(jqXHR, textStatus, errorThrown) {
console.error("Data request failed (" + textStatus + "): " + errorThrown);
console.debug(jqXHR.responseText);
});
我调用的 URL 应该以 csv 格式返回数据。我正在使用 jQuery 1.8.2。这适用于 Firefox,但由于某种原因不适用于 Chrome。我打印出来的错误信息是:
Data request failed (text/csv): text/csv
有趣的是,在 Chrome 中我可以看到返回的数据jqXHR.responseText
,所以我无法弄清楚它为什么会抛出错误。我认为这与我没有正确指定 csv 格式有关,但我认为设置dataType
orcontentType
会解决这个问题。我错过了什么?
我意识到这是一个常见问题,但尽管我在 Stack Overflow 上进行了谷歌搜索和搜索,但我一直无法找到为我解决此问题的解决方案。我发现的所有建议都说将contentType
、dataType
或 设置cache
为 false。如您所见,这些解决方案都不适合我。非常感谢您的帮助!