跨域资源共享 (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中文网其他相关文章!