码迷,mamicode.com
首页 > 数据库 > 详细

解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin.

时间:2014-08-22 22:26:59      阅读:358      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   使用   io   ar   问题   

解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin.

今天一个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跨域问题产生。

搜了好久,得知解决方案:

一:使用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:*

getHttpServletResponse().setHeader("Access-Control-Allow-Origin", "*"); // 跨域处理

问题就解决了。

 

 

 

感谢:   http://yanue.net/post-130.html

 

解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin.

标签:style   blog   http   color   os   使用   io   ar   问题   

原文地址:http://www.cnblogs.com/mjorcen/p/3930276.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!