求教:IE读取json数据为undefined,其它浏览器都是好的。
ajax代码:$.ajax({type:"get",url:"aa.php",async:false,dataType:'json',jsonp:'jsonpcallba...
ajax代码:
$.ajax({type:"get",url:"aa.php",async:false,dataType:'json',jsonp:'jsonpcallback',timeout:500,
success:function(json){
alert(json.install); // 此处数据在chrome应该为1,在IE浏览器中为undefined
}
});
aa.php页面数据:
{
"install":1,
"start":"yes",
"currentRequestTime":0
} 展开
$.ajax({type:"get",url:"aa.php",async:false,dataType:'json',jsonp:'jsonpcallback',timeout:500,
success:function(json){
alert(json.install); // 此处数据在chrome应该为1,在IE浏览器中为undefined
}
});
aa.php页面数据:
{
"install":1,
"start":"yes",
"currentRequestTime":0
} 展开
1个回答
展开全部
用ajax实现了一个功能,在IE8和IE9中都能正常运行(大概是IE8和IE9都提供了原生的JSON解析和序列化),但是一旦切换到兼容模式就报JSON未定义的错误,解决方法是:判断当前浏览器是否支持JSON对象,如果不支持,则引入json2.js文件(该文件可以在网上下载)。
$.post('yourAction',{'orgid':id},function(data){
if(typeof JSON == 'undefined'){
$('head').append($("<script type='text/javascript' src='page/duty/Scripts/json2.js'>")); } //do something here
$.post('yourAction',{'orgid':id},function(data){
if(typeof JSON == 'undefined'){
$('head').append($("<script type='text/javascript' src='page/duty/Scripts/json2.js'>")); } //do something here
更多追问追答
追问
请问下 'yourAction',{'orgid':id}, 这两个选项是什么意思啊?
追答
yourAction:比如struts的action,或其他url
{'orgid':id}:参数名为orgrid,值为id
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询