今天遇到一个ajax请求跨域的问题,demo如下:
一、getJson方式
服务器端1代码(文件名:json.html):
<html>
<head>
<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<div id="images">
</div>
<script>
$.getJSON("http://192.168.95.155/1.php?callback=?",{format:"json"},function(data){alert(data.format);});
</script>
</body>
</html>
服务器端2代码(文件名:1.php):
<?php
$callback=$_GET['callback'];
// $callback="callback";
$data=json_encode(array("info"=>"OK","format"=>$_GET['format']));
echo $callback."(".$data.")";
?>
二、Ajax底层函数方式
1、客户端代用代码:
<html>
<head>
<meta charset="utf-8">
<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<div id="images">点击提交按钮改变内容</div>
<input type="button" value="提交" οnclick="SendData()"/>
<script type="text/javascript">
function SendData()
{
$.ajax({
type: "GET",
async: false,
url: "http://192.168.95.155/2.php",
dataType: "jsonp",
jsonp: "callback",
success: function(data){
//alert(data.info);
$("#images").html(data.info);
},
error: function(){
alert('fail');
}
});
}
</script>
</body>
</html>
2、 服务器代码:
<?php
$callback=$_GET['callback'];
$data=json_encode(array("info"=>"ajax跨域请求","format"=>"json"));
echo $callback."(".$data.")";
?>
参考:http://www.aitiblog.com/php/284.html