知道为什么以下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
或contentType
会解决这个问题。我错过了什么?
我意识到这是一个常见的问题,但是尽管我使用谷歌搜索和搜索Stack Overflow,我仍然无法找到解决这个问题的解决方案。我发现的所有建议都说将contentType
,dataType
或cache
设置为false。如您所见,这些解决方案都没有对我有用。非常感谢您的帮助!