ajax跨域傳值


<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格式內容
這樣就能接受到了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM