ajax跨域传值

本文介绍了一种使用JSONP实现跨域请求的方法,并通过一个具体的PHP与JavaScript交互的例子进行了说明。该方法通过在客户端JavaScript中定义一个回调函数来接收服务器端返回的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<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="生在在的在" οnclick="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格式内容
这样就能接受到了!

转载于:https://www.cnblogs.com/zywf/p/6195524.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值