2017-01-23 78 views
0

我的Ajax請求是這樣的:jQuery的AJAX的網址無效

$.ajax({ 
    url: self.opts.url.replace('//www.', '//'), 
    type: 'POST', 
    ... 
}); 

我把那.replace只是要確定。因爲我在opts.url中的網址是"http://website.com/admin/upload-image/123"。但我無法上傳圖像,因爲我在控制檯中出現錯誤:XMLHttpRequest cannot load http://www.website.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://website.com' is therefore not allowed access.

我在調試模式下仔細檢查了URL,它總是沒有www.,但jQuery似乎總是添加它。這對我來說根本沒有意義。

也是我從jQuery的error功能得到:

jqXHR: Object (filled statusText with "error") 
textStatus: "error" 
errorThrown: "" 
+1

檢查瀏覽器開發工具網絡實際要求。最有可能被在終點重定向,而不是CORS啓用 – charlietfl

回答

1

正如你可以在錯誤信息中看到,它說:

的XMLHttpRequest無法加載www.website.com。請求的資源上沒有「Access-Control-Allow-Origin」標題。 Origin'www.website.com'因此不被允許訪問。

您必須在www.website.com網頁設置訪問控制允許來源頭。在PHP,這是通過這樣來完成:

標題(「訪問控制允許來源:http://yourwebsiteThatNeedsAccess」);

+1

有更多地參與CORS不是簡單的一個頭 – charlietfl

+0

是啊,但爲什麼jQuery的替換'www.'網址是什麼?那麼這在技術上是不正確的。 – debute