PHP+jsonp 跨域实例

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 .')';  //返回格式,必需

 

你可能感兴趣的