跨域資源共享(CORS) 限制可能會阻礙AJAX 請求從不同域檢索資料域。本文研究了克服 CORS 限制的替代方法。
由於安全措施,瀏覽器強制執行同源策略,該策略限制同一域內的 AJAX 請求。對不同網域、子網域、連接埠或協定的請求通常會被封鎖。
使用 JSONP 檢索跨域資料需要伺服器以腳本格式提供回應。如果預期資料是 HTML,則不適合使用 JSONP。
1. CORS 代理替代方案:
2.繞過同源限制:
CORS任何地方:
$.ajaxPrefilter( function (options) { if (options.crossDomain && jQuery.support.cors) { var http = (window.location.protocol === 'http:' ? 'http:' : 'https:'); options.url = http + '//cors-anywhere.herokuapp.com/' + options.url; } });
無論來源:
$.ajaxSetup({ scriptCharset: "utf-8", contentType: "application/json; charset=utf-8" }); $.getJSON('http://whateverorigin.org/get?url=' + encodeURIComponent('http://google.com') + '&callback=?', function (data) { console.log(" > " , data); $("#viewer").html(data.contents); });
當直接要求受到CORS 限制時,這些替代方法允許跨域AJAX 請求。選擇最佳解決方案取決於具體用例和安全考慮。
以上是如何繞過跨域AJAX請求的CORS限制?的詳細內容。更多資訊請關注PHP中文網其他相關文章!