首页 > 代码库 > Jsonp 跨域请求实例

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 = http://www.mamicode.com/json_encode(array(‘symbol‘=>‘function name(){alert("My name is Libin")};‘));	echo $_GET[‘callback‘] . ‘(‘ . $jsonData . ‘);‘;?>

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

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