Jsonp 跨域请求实例

关于jsonp的一个实例,其实自己也不是很了解,今天下午稍微研究了一下;

简单来说,jsonp就是为了两个不同网站之间数据传递而产生的,主要用于js脚本,因为浏览器本身是禁止跨域访问的;

本机实例:

http://127.0.0.1:80/index.php

<script src="http://cdn.staticfile.org/jquery/1.11.1/jquery.min.js"></script> 

<script type="text/javascript">

	$(document).ready(function(){

		jQuery.getJSON("http://127.0.0.1:81/index2.php?symbol=IBM&callback=?", 

		function(data) {

		    eval(data.symbol);

		    name();

		});

	});

</script>

这是客户端的脚本,利用jquery,我现在需要在服务端脚本(php)脚本中输出一个名为name的函数,供客户端使用

http://127.0.0.1:80/index2.php

<?php

	$jsonData = json_encode(array('symbol'=>'function name(){alert("My name is Libin")};'));

	echo $_GET['callback'] . '(' . $jsonData . ');';

?>

简单来说。就是客户端通过jquery内置的getJSON方法来调取跨域的服务器端的脚本,而服务器端的脚本输出一段json文本(可以是数组,函数均可,本实例就是输出一个函数),

但是记住一定要以json格式来输出;然后客户端接收后进行执行即可(如果是函数文本的话,可以先eval一下):;

你可能感兴趣的:(jsonp)