ajax+jsonp+php 实现跨域交换数据


前端代码:

<script src="js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
	    <script type="text/javascript">
	    	$(function(){
                  $.ajax({
                       url : "http://192.168.1.130/mytest/mytest.php",
                       dataType:"jsonp",
                       data:{
                           "id":"123456",
                           "t":1
                       },
                       type:"post",
                       jsonp:"jsonpcallback",
                       timeout: 5000,
                       success:function(data){
                           console.log(data);
                       },
                       error:function(XHR, textStatus, errorThrown){
                           console.log('error: ' + textStatus);
                           console.log('error: ' + errorThrown);
                       }
                  });
	    	});
	    </script>

后台代码:

<?php

$id = $_POST['id'];
$t = $_POST['t'];

$jsonp = $_GET['jsonpcallback'];//get接收jsonp自动生成的函数名

$arr = array(
    'id' => $id,
    't' => $t
);
echo $jsonp.'('. json_encode($arr). ')'; //jsonp函数名包裹json数据


?>


运行结果:



注意:

1:jsonp和json的却别,jsonp的原理属于将跨域数据处理为静态文件,再调取。所以需要回掉函数。回掉函数可以约定,也可以默认生成。使用默认生成,维护方便。

2:测试的时候使用的是本地连接,但是不影响。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值