PHP+jsonp 跨域实例
本文简单介绍PHP+jsonp跨域实例 :
a.com
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script src="jquery-3.2.1.min.js"></script> <!-- 自己下载 -->
<script type="layer/2.4/layer.js"></script> <!-- 自己下载 -->
<script>
$(document).ready(function(){
$("#btn").click(function(k) {
var formData = $("form").serializeArray();// 序列化 name/value
$.ajax({
type: 'GET',
url: 'http://b.com/jsonp.php',
dataType: 'jsonp', //类型
data: formData,
jsonp: 'callbackjsonp', //jsonp回调参数,必需
async: false,
success: function(result) {//返回的json数据
layer.msg(result.info, {icon: result.code, time: 2000});
}
})
});
});
</script>
</head>
<body>
<form name="form">
<input type="text" name="name" placeholder="姓名">
<input type="text" name="age" placeholder="年龄">
<input type="button" id="btn" value="提交" />
</form>
</body>
</html>
b.com
jsonp.php
<?php
// 获取回调函数名
$callbackjsonp = isset($_GET['callbackjsonp']) ? trim($_GET['callbackjsonp']) : ''; // jsonp回调参数,必需
$date = array("name"=>$_GET['name'], "age"=>$_GET['age']); // 接受参数可以做一些事
$date["code"]=6;
$date["info"]="发送成功";
$res= json_encode($date); // 转json 数据
echo $callbackjsonp . '(' . $res .')'; //返回格式,必需