2016-11-24 98 views
-1

當我試圖從瀏覽器和郵遞員的URL它的工作正常,並返回響應,但當我試過JQuery的AJAX其給我的CROSS域問題。jquery ajax給我們跨域問題

我們怎樣才能避免這種跨域問題,而使用AJAX

+0

您需要在請求的資源上設置「訪問控制允許源」。 –

+0

您是否對通過AJAX請求的域名有控制權? –

回答

0

在Firefox和Chrome安裝插件CORS打API,IE只是處理得很好。 正如其他人所建議的那樣,你肯定是在locale(使用localhost)工作,所以CROSS來源請求是新瀏覽器通用的安全策略。 我不知道你的後臺,但如果它在阿賈克斯我會寫:

$.ajax({ 
      url: "http://localhost:8079/students/add/", 
      type: "POST", 
      crossDomain: true, 
      data: JSON.stringify(somejson), 
      dataType: "json", 
      success: function (response) { 
       var resp = JSON.parse(response) 
       alert(resp.status); 
      }, 
      error: function (xhr, status) { 
       alert("error"); 
      } 
     }); 

如果你的後臺是在PHP中,你可以添加這些行:

header('Access-Control-Allow-Origin: *'); 
    header("Access-Control-Allow-Headers: X-Requested-With"); 
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS'); 
    header('Access-Control-Allow-Credentials: true'); 
    header('Access-Control-Max-Age: 1000'); 
    header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token , Authorization'); 

的CORS或CROSS產地請求只是一個安全策略,當你在你的電腦上開發時,大多數情況下會觸發這個安全策略,請嘗試考慮是否存在惡意腳本並且你的瀏覽器沒有阻止跨域請求:
惡意代碼可能已經注入了你的網站代碼