当使用ajax调用特定服务时,IE9返回" undefined":
$.ajax({
url: URL_PATH,
type: "get",
success: function(data) {
console.log(data);
}
});
在Firefox,Chrome,IE10 +中检查相同的代码,它确实有效。我甚至尝试添加:
contentType: "application/json; charset=utf-8",
datatype: "json",
到ajax调用属性,但没有运气。
奇怪的是,当我调用本地JSON文件时,IE9中的一切都没问题,但是当从本地服务器url(来自数据库的信息)返回时发生错误。看一下响应体,我得到了格式化的json字符串。
更新 还添加了错误捕获块:
error: function(XMLHttpRequest)
{
console.log(XMLHttpRequest);
},
但没有运气,它没有进入错误块,它捕获了成功"
答案 0 :(得分:3)
我发现了一个问题。我的休息服务的响应标题设置为 charset = UTF8 ,IE无法识别,虽然其他浏览器没有问题,但正确的拼写需要 UTF-8 用短跑:)一个菜鸟的错误。谢谢大家的建议。现在关闭这个帖子。
答案 1 :(得分:-1)
有3种方法可以解决这个问题,
首先添加以下几行
<!--[if lte IE 9]>
<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.0/jquery.xdomainrequest.min.js'></script>
<![endif]-->
第二个,
使用dataType =&#39; jsonp&#39;解决它在dataType =&#39; json&#39;
的地方