我正在编写 Chrome 扩展程序。如果您从通过 https 提供的页面中对常规 http 页面发出 jQuery.ajax 请求,则该请求会被 Chrome 阻止。我想知道我是否可以使用安全代理获取请求的页面。
那么,是否可以为某些 jQuery.ajax 请求使用通用代理服务器?如果是这样,如何?请注意,更改浏览器的代理设置不是一个选项。
最佳答案
[一年过去了...] 如果我正确理解了你的问题,你想根据你当前所在的网页更改你的 AJAX 请求。 jQuery 提供了一些 AJAX related可能对您有所帮助的方法。
我的建议是使用jQuery.ajaxPrefilter
并调整您的查询以使用代理而不是原始主机。文档中的示例:
$.ajaxPrefilter(function( options ) {
if ( options.crossDomain ) {
options.url = "http://example.com/proxy/" + encodeURIComponent( options.url );
options.crossDomain = false;
}
});
为了让它更有趣一点,您还可以使用 global AJAX event handlers 中的任何一个监控您的请求。例如,查看是否有任何请求失败:
$( document ).ajaxError(function() {
console.log("Somethin' went wrawng!");
});
关于javascript - 通过代理服务器发出 jQuery.ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23448886/