在进行Ajax请求的时候经常会遇到跨域的问题,这个时候一般就会用到jsonp。
关于json和jsonp,网上有很多原理解释,这里就不多赘述,需要的自行搜索。
下面是一个简单的ajax跨域请求示例:
jsonp只能用GET方式提交,关于ajax提交的方式很多,下面是其中一种。
在发送端生成一个callback参数发送到服务端
$.ajax({
type: "GET",
url: url
dataType: "jsonp",
jsonp: "callback"
服务端获取jsonp参数后,再返回相应的数据
可以把jsonp参数理解成一种临时生成的加密方式,返回数据时候调用这个参数,下面是PHP
<?php
$callback=$_GET['callback'];
echo $callback."(".json_encode($data).")";
以上是一种简单的ajax跨域示例。