51可用代码模板网站

咨询热线:

181-1164-6936
  • 1
PHP代码
当前位置:首页>实用代码>PHP代码>

php解决ajax跨域问题

时间:2017-08-11 16:15点击:

今天一个Ajax跨域问题,代码如下:


    <html>  
    <head>  
        <title>title</title>  
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>  
        <script>  
            $.ajax({  
                url:"http://map.yanue.net/gpsApi.php?lat=22.502412986242&lng=113.93832783228",  
                type:'GET',  
                success: function(data){  
                    $('body').append( "Name: " + data );  
                }  
            });  
        </script>  
    </head>  
    <body>  
        测试Ajax跨域问题  
    </body>  
    </html>  


没有结果,chrome用F12 下查看错误 得知:XMLHttpRequest cannot load http://map.yanue.net/gpsApi.php?lat=22.502412986242&lng=113.93832783228. Origin http://localhost is not allowed by Access-Control-Allow-Origin. AJAX跨域问题产生。

什么引起了ajax不能跨域请求的问题?

ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。



解决方案如下:
一、使用jsonp格式, 如jquery中ajax请求参数   dataType:'JSONP'


    <html>  
    <head>  
        <title>title</title>  
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>  
        <script>  
            $.ajax({  
                url:"http://map.yanue.net/gpsApi.php?lat=22.502412986242&lng=113.93832783228",  
                type:'GET',  
                dataType:'JSONP',  
                success: function(data){  
                    $('body').append( "Name: " + data );  
                }  
            });  
        </script>  
    </head>  
    <body>  
    测试Ajax跨域问题  
    </body>  
    </html>  


二、server端加上header设为 Access-Control-Allow-Origin:*


    header("Access-Control-Allow-Origin: *"); # 跨域处理  


问题就解决了。

51可用模板(代码)网站专为广大站长朋友提供精品模板与代码,同时免费提供网站收录。
本站域名: WWW.51KYDM.COM    联系方式:QQ:182468923    手机:18111646936
本站关键词:网站链接收录网址收录入口网站免费提交收录网站收录提交入口    网站地图
51可用模板
展开