jsonp的原理,与php结合的原生介绍

今天在处理json格式的数据,也用到了jsonp的数据处理,特备注一下,免的遗忘。

jsonp格式主要是为了解决跨域请求的问题,我们先以原生实例来说明:

前台:http://10.61.129.100/test.php

后台:http://10.64.128.21/test/jsonp.php

1、首先在前台 http://10.61.129.100/test.php,代码如下:



    跨域测试
    
    


    
    

执行后是会报错的,textarea里也不会有值显示。 

2、然后我们将前台的代码修改如下:



    跨域测试
    
    


    
    

后台的代码修改为如下:

1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
	$result=json_encode($arr);
	//echo $_GET['callback'].'("Hello,World!")';
	//echo $_GET['callback']."($result)";
	//动态执行回调函数
	$callback=$_GET['callback'];
	echo $callback."($result)";
?>

然后再次执行,你会看到什么,OK了。说的多不如做一下,试一下就会明白了。

实际上就是在head里插入了一个src,然后来调用远端服务器上的地址,同时构造一个js函数返回到本地调用。太精明了!

3、然后 jquery提供的现成的方案,就是jsonp方式了。具体实例随后再做分析。

 

你可能感兴趣的:(php)