利用jsonp进行Ajax跨域请求

时间:2023-11-19 09:17:44

在进行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跨域示例。