javascript - 通过代理服务器发出 jQuery.ajax 请求

标签 javascript jquery ajax proxy-server

我正在编写 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/

相关文章:

javascript - Angular JS、购物 list 、Total 不起作用

javascript - 使用 jQuery 获取 XML 数据

javascript - 硬拷贝与浅拷贝javascript

php - 提交前识别图像属于产品

javascript - #!链接中的主题标签和感叹号作为文件夹?

javascript - 通过 iframe 的外部 POST 表单

javascript - Window.focus() 在 IE11 中不起作用

javascript - 在javascript中动态添加图像显示错误

javascript - JQuery 不更新 :last Filter for Dynamically Added Elements

javascript 可编辑表格无法正常工作