标签:tab time use html input button type div 调用
<script type="text/javascript"> function xmlpage(){ $.ajax({ url:‘http://localhost/3.php‘, data:"", dataType:"JSONP",//跨域格式为jsonp type:‘POST‘, jsonpCallback: ‘_GroupMember_Callback‘,//jsonpCallback的值为相互传输时用来确认对方 success: function(obj){ //msg是服务器返回信息 alert("地址"+obj.weatherinfo.city+",温度"+obj.weatherinfo.temp+",风向"+obj.weatherinfo.WD); } }); } </script> <input type="button" value="生在在的在" onclick="xmlpage()" />
php文件
header("Access-Control-Allow-Origin: *");//跨域一定要加 header(‘Content-type:text/json‘); //说名格式为json $jsop=‘{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"10","WD":"东南风","WS":"2级","SD":"26%","WSE":"2","time":"10:25","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1012"}}‘; echo "{$_GET[‘callback‘]}({$jsop})";
jsonp需要一个调用来触发你传入getjson的那个函数,而触发就靠你传入的一个callback参数,这个参数值实际上就是一个特殊函数名,你返回的必须是一段JS代码,才能够触发它,也就是类似
callack_12324343({‘hello‘:‘world‘});
1
|
echo "{$_GET[‘callback‘]}({$username});" ; |
简单点说 jsonp跨域的时候要传入一个指定的jsonp编号过去,就是你的连接 比如
http://xxxxxx.com?jsonp=?&id=1&password=1
jsonp=?就是传递过去的编号,
在服务器用GET接受jsonp
比如 $json = $_GET(‘jsonp‘);
你打印内容返回给前台的时候要注意格式
jsonp的编号打头
echo "$json($b)";
$b是你的json格式内容
这样就能接受到了!
标签:tab time use html input button type div 调用
原文地址:http://www.cnblogs.com/zywf/p/6195524.html