关于ajax请求跨域之jsonp解决方案

客户端代码

<script type="text/javascript">
var obj = {
    username: "qin",
    password: "12"
}
$.ajax({
//    url: "http://www.jkera.cn/dianshiguo/data.php",
    url: "http://www.miaos.me/hongxiu/ceshi.aspx",
    data:obj,
    async: true,
    dataType: "jsonp",
    success: function(data) {
        console.log(data)
    }
});
</script>

服务端代码

C#

string callback = Request.QueryString["callback"].ToString();
string json = "";
json += "{"data":[";
json += "{"timestamp":"123"}";
json += "]}";
string result = callback + "(" + json + ")";

PHP#

$Req = $_GET;
$username = $Req["username"];
$password = $Req["password"];
$arr = array(
  "name" => "$username",
  "word" => "$password",
  "qin" => array(1,2,34,5)
 );
echo $_GET['callback']."(".json_encode($arr).")";

注:主要就是上面dataType:"jsonp"这个参数必填,后面服务器端的时候在正常的返回json数据上面添加一个callback(return_json)

原文地址:https://www.cnblogs.com/qinyulin/p/8522911.html