测试Ajax Json 跨域

php服务,部署于www.a.com

<?php
header("Content-Type:text/html;charset=UTF-8");
$callback = isset($_GET['callback']) ? trim($_GET['callback']) : ''; //jsonp回调参数,必需
if (isset($_REQUEST['usr'])) {
    $usr = $_REQUEST['usr'];
    if (isset($_REQUEST['pwd'])) {
        $pwd = $_REQUEST['pwd'];
        if ($usr == '111' && $pwd == '222') {
            echo $callback."({ret:0,i:1354541248,e:'0',l:'http://',isto_en:'0'})";
        } else {
            echo $callback."({ret:1,msg:'用户不存在、或密码错误!'})";
        }
    } else {
        echo $callback."({ret:1,msg:'用户不存在、或密码错误!'})";
    }
} else {
    echo $callback."({ret:1,msg:'用户不存在、或密码错误!'})";
}
View Code

html页面 部署于www.b.com跨域提交数据

<html>
<head>
<meta charset="gbk32">
<title>测试Ajax Json 跨域</title>
<script src="http://10.1.1.254:8081/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
     $("#btn").click(function(k) {
        var j = $("form").serializeArray();
        $.ajax({
            type: 'GET',
            url: 'http://10.1.1.88/json.php',
            dataType: 'jsonp',
            data: j,
            jsonp: 'callback',
            async: false,
            success: function(zhouein) {
                //alert(zhouein.i);
                zhouein = zhouein || {};
                if (zhouein.ret==0){
                    alert('登录成功!'+zhouein.ret);
                    alert('跳转到:'+zhouein.l);
                }
                if (zhouein.ret==1){
                    alert(zhouein.msg);
                }
            },
            timeout: 3000
        })
    });
});
</script>
</head>
<body><CENTER>
<form name="form">
用户名:<input type="text" name="usr"><br>&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="text" name="pwd"><br><br>
<input type="button" id="btn" value="登录" />
</form></CENTER>
</body>
</html>
View Code

 那么我的问题来了,如果我的www.a.com服务器无法修改文件,Json返回的数据为如下

{ret:0,i:1354541248,e:'0',l:'http://',isto_en:'0'}

Ajax如何获取到返回值 如 i=1354541248或状态 ret=0

jsonp: 'callback'

原文地址:https://www.cnblogs.com/zhouein/p/5939871.html