CORS(跨域資源共享)可以在瀏覽器中更安全地使用JavaScript進行跨域數據傳輸。在 jQuery 中實現跨域請求非常容易,只需要在 AJAX 請求中添加一些額外的選項即可。
下面是一個示例,已經啟用了 CORS,啟用后可以從其他域的服務器上獲取數據。
$.ajax({ url: "https://www.example.com/data.json", type: "GET", crossDomain: true, dataType: "json", success: function(data) { console.log(data); }, error: function(xhr, status, error) { console.log("Error: " + error); } });
注意,必須將 crossDomain 選項設置為 true,以便瀏覽器知道這是一個跨域請求。還應指定 dataType 選項,以便 jQuery 將響應作為 JSON 解析。
如果需要為跨域請求添加自定義標頭,可以使用 beforeSend 回調函數。示例代碼如下:
$.ajax({ url: "https://www.example.com/data.json", type: "GET", crossDomain: true, dataType: "json", beforeSend: function(xhr) { xhr.setRequestHeader("Authorization", "Bearer xxxxxxxx"); }, success: function(data) { console.log(data); }, error: function(xhr, status, error) { console.log("Error: " + error); } });
在 beforeSend 回調函數中,我們可以通過 xhr 對象設置需要添加的自定義標頭,這里添加了一個名為 Authorization 的標頭。在使用 AJAX 跨域請求時,請始終確保始終使用安全且最新的 jQuery 版本。