首页 > 代码库 > WebApp开发:ajax请求跨域问题的解决

WebApp开发:ajax请求跨域问题的解决

服务端:PHP

客户端:Andorid, HTML5, jQuery, ajax

现象:本想通过jQuery的ajax功能从服务器取回数据存到手机的缓存里,结果总是错误,后来想到可能是跨域问题,所以查了下jsonp的方案先把流程跑通,明天再完善看看有什么好的方案

服务端:http://www.code-style.com/test/a.php

<?php//服务端返回JSON数据$arr=array(‘name‘=>‘shujun.li‘);$result=json_encode($arr);//动态执行回调函数$callback=$_GET[‘callback‘];echo $callback."($result)";?>

客户端

<!DOCTYPE html><html><head>    <meta charset="utf-8">    <title>Listview AutodividersSelector - jQuery Mobile Demos</title>    <script src="js/jquery.js"></script>        <script type="text/javascript">    $.ajax({        url:"http://www.code-style.com/test/a.php",        dataType:jsonp,        data:‘‘,        jsonp:callback,        success:function(result) {            alert(result["name"])        },        timeout:3000    });</script></head><body></body></html>

 

生成URL : http://www.code-style.com/test/a.php?callback=jQuery1102004144126083701849_1420635061128&_=1420635061129

响应:jQuery1102004144126083701849_1420635061128({"name":"shujun.li"})

WebApp开发:ajax请求跨域问题的解决