標籤: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.