IE中的$.getJSON不起作用是因为IE对JSON解析器(JSON.js)的支持问题。在IE中,$.getJSON()的参数中的JSON字符串需要使用JSON.stringify()方法进行序列化,否则会出现无法解析的情况。同时,在IE中,JSON.stringify()方法返回的是JSON对象,而不是JSON字符串,因此需要将返回值转换为JSON字符串,才能使用$.getJSON()方法进行请求。
为了解决这个问题,可以尝试使用其他JSON解析器,例如jQuery和AngularJS等。如果必须使用$.getJSON()方法,可以尝试使用JSON2.js库来解析JSON字符串,或者将JSON字符串转换为JSON对象后再进行请求。
另外,在IE中,也可以使用$.ajaxSetup()方法来设置默认的JSON解析器,例如:
$.ajaxSetup({
jsonp: 'jsonp',
jsonpCallback: function(data) {
return data;
}
});
这样,在发送JSON数据时,$.getJSON()方法会自动将JSON字符串转换为JSON对象,从而解决JSON解析器的问题。
领取专属 10元无门槛券
手把手带您无忧上云