2014-04-01 27 views
0

我可以使用平板電腦或手機(作爲應用程序)登錄,但當我使用我的PC時無法登錄。錯誤返回如下:Access-Control-Allow-Origin'標題不允許我在登錄後切換頁面

XMLHttpRequest無法加載http://softwarehuttest.x10.mx/public/account/login/?id=&password=&。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此不允許原產地'null'訪問。

我嘗試用下面的標題來糾正錯誤:

頁眉設置訪問控制允許來源「http://softwarehuttest.x10.mx/public/account/login/

我現在能夠以現在的一個問題記錄在我的電腦上。它用於登錄並在成功時立即切換到我的主頁。當我添加標題時,它會登錄但不再切換到我的主頁。

請指教缺少的東西。謝謝。

Header set Access-Control-Allow-Origin "http://softwarehuttest.x10.mx/public/account/login/"  
//LOGGING IN AND GOING TO HOME PAGE ON SUCCESS 
$(document).on("pageinit", "#loginForm", function() { 
    $("#form1").on("submit", function (event) { 
     event.preventDefault(); 
     $.ajax({ 
      type: "GET", 
      url: "http://softwarehuttest.x10.mx/public/account/login/", 
      data: $("#form1").serialize(), 
      success: function (data) { 
       console.log(data); 
       if (data.loggedIn) { 
        $.mobile.changePage("#home"); 
       } else { 
        alert("You entered the wrong username or password. Please try again."); 
       } 
      } 
     }); 
    }); 
}); 
+0

這是由於[相同來源政策](http://en.wikipedia.com/wiki/Same-origin_policy)。除非使用JSONP或CORS,否則只能向同一個域發出AJAX請求。 –

+0

我的印象是,添加標題可解決相同的原始策略。我最終只需要在手機/平板電腦上工作,但現在,調試正在耗盡我無法使用我的電腦的工作。 – kar

回答

0

這是一個跨域問題。所以你有兩個選擇,要麼你的服務支持JSONP,要麼你必須創建你自己的代理。關於最後一個選項,您可以向自己的腳本(以Java,PHP等)發出一個Ajax請求,該請求會調用您的原始請求(http://softwarehuttest.x10.mx/public/account/login/)。然後你必須處理答案並向前。