ajax 跨域jsonp

前端之家收集整理的这篇文章主要介绍了ajax 跨域jsonp前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天遇到一个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="提交" onclick="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

猜你在找的Ajax相关文章