[JS][jQuery] AJAX Cross Domain Request – CORS | AJAX跨網域應用

Intro

跨來源資源共享(英語:Cross-origin resource sharing,縮寫:CORS),用於讓網頁的受限資源能夠被其他域名的頁面存取的一種機制。

跨來源資源共享標準描述了,新的HTTP頭部在瀏覽器有權限的時候,應該以如何的形式傳送請求到遠端URLs。雖然伺服器會有一些校驗和認證,但是瀏覽器有責任去支援這些頭部以及增加相關的限制。


實作

做個AJAX跨網域可是容易忘記細節的,這就來篇Note, 後端部分,Server Header請開啟(以PHP動態Header為例):

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true");

若要包含跨域請求的認證資訊 (如 cookies),則前端 Ajax call 得設定 withCredentials 屬性,JQuery為例:

$.ajax({
    xhrFields: {
        withCredentials: true
    },
    type: "GET",
    url: "http://www.example.org/ajax.php"
}).done(function (data) {
    console.log(data);
});

References

Leave a Reply

Your email address will not be published. Required fields are marked *