当前位置:Gxlcms > PHP教程 > 输入相同的JSON串为啥jquery处理结果不一样

输入相同的JSON串为啥jquery处理结果不一样

时间:2021-07-01 10:21:17 帮助过:34人阅读

function getOrderDishArea(){
$("#orderDishList").text('');
//var area;
//if(getItem("areaName")==null){
// area='hefei';
//}else{
// area=getItem("areaName")
//}
document.getElementById('order_dish_info_panel').style.display = 'none';
$.jsonP({
url:'http://shegoushop.com/app/ceshi.php?m=ClientApp&a=getArea&city_domain=hefei',
url:'http://public.6tie.com/index.php?m=ClientApp&a=getArea&city_domain=hefei',

success:function(data){
alert("OK!");
if(data['msg']=="success" && data['data']!=null){

$('#order_dish_area_info_loading').hide();

var orderDishStr='';
var jsondata=data['data'];

for(var i=0;i var sum=i+1;
/*orderDishStr+='';*/
orderDishStr+="
  • ";
    orderDishStr+="";
    orderDishStr+=''+jsondata[i].sortname+'
    营业中
';
}
$("#orderDishList").append(orderDishStr);
}else{
alert("加载区域没有数据!");
}
}
});
}

如以上所示,执行两个不同的URL,返回相同的JSON串,但是第一个URL不执行,第二个URL可以执行。


回复讨论(解决方案)

url:'http://shegoushop.com/app/ceshi.php?m=ClientApp&a=getArea&city_domain=hefei',
url:'http://public.6tie.com/index.php?m=ClientApp&a=getArea&city_domain=hefei',
success:function(data){}
这是什么用法
jsonP({})这个方法的参数是json格式吧,json格式可以给一个键名url赋值2次吗?

url:'http://shegoushop.com/app/ceshi.php?m=ClientApp&a=getArea&city_domain=hefei',
url:'http://public.6tie.com/index.php?m=ClientApp&a=getArea&city_domain=hefei',
success:function(data){}
这是什么用法
jsonP({})这个方法的参数是json格式吧,json格式可以给一个键名url赋值2次吗?


两个URL是测试的,这两个URL执行后输出相同的JSON字符串,但是只有一个URL是可以执行成功的,不知道为什么?测试时注释掉一个URL

键名(url)相同,后者把前者覆盖了,当然只会执行一个

不好意思理解错了,
js你这个是跨域的问题
叫给你提供接口的人在服务端加段跨域代码
header("Access-Control-Allow-Origin: *");

你这个页面的域名和接口域名相同就能获得数据,不同的话需要加跨域的代码,我写的这个只是一种, 网上很多的

键名(url)相同,后者把前者覆盖了,当然只会执行一个



可能我表达错了,执行时不是执行俩,是分别执行。执行一个时注释掉另一个,但是两个URL只有一个能够执行,应该是跨域问题,不知道怎么处理的,只有一个URL能够执行成功,但是俩URL抛出的json串是一样的。

这个好像只能服务端配合吧,只是js单方好像处理不了
叫服务端给加个header

如果不是自己的服务端,就只有在自己的服务端做个file_get_content();了

不好意思理解错了,
js你这个是跨域的问题
叫给你提供接口的人在服务端加段跨域代码
header("Access-Control-Allow-Origin: *");



测试了,php服务器端加上header("Access-Control-Allow-Origin: *"); 也不行。不知道url:'http://public.6tie.com/index.php?m=ClientApp&a=getArea&city_domain=hefei'为啥可以执行,测试的php文件抛出一样的JSON也不执行。应该是跨域问题,但是加这个header声明不管用。

执行第二个URL:

执行第一个URL:

AB

AB

Access-Control-Allow-Origin: *
需要每个页面都有

AB




已经顺利解决,这个jqmobi的JSON跨域,服务器端回调即可。服务器端直接输出JSON是不行的,要回调JS回调函数。

人气教程排行