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:'用户不存在、或密码错误!'})"; }
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> 密 码:<input type="text" name="pwd"><br><br> <input type="button" id="btn" value="登录" /> </form></CENTER> </body> </html>
那么我的问题来了,如果我的www.a.com服务器无法修改文件,Json返回的数据为如下
{ret:0,i:1354541248,e:'0',l:'http://',isto_en:'0'}
Ajax如何获取到返回值 如 i=1354541248或状态 ret=0
jsonp: 'callback'