当前位置: 首页 > 面试题库 >

如何执行跨站点的ajax请求?

景轶
2023-03-14
问题内容

浏览器不允许跨站点AJAX调用(这是安全限制)。有没有可能的解决方案?

编辑

我只控制来电者的网站


问题答案:

如果您控制双方,那么会有很多选择。例如JSONP,或修改远程网站的标头响应。
不幸的是 ,只有在远程网站支持的情况下,JSONP才有效。您 不能 将JSONP调用强制到尚不支持它的网站。

但是,正如您所说,您只能控制源网站。出于明显的原因,您无法绕过此限制来入侵浏览器。您确实有第三个选择,它是创建 后端代理
。您可以使用Apache和mod_rewrite创建代理。这是有关如何执行此操作或此链接的详细信息。

例如

ProxyPass /api/gtalkbots http://gtalkbots.com/reverse-proxy-data.php  
ProxyPassReverse /api/gtalkbots http://gtalkbots.com/reverse-proxy-data.php

创建一个代理,/api/gtalkbots该代理将从gtalkbots.com返回安息



 类似资料:
  • 问题内容: 我需要从一个网站向另一个域中托管的REST Web服务发出AJAX请求。 尽管这在Internet Explorer中很好用,但是其他浏览器(例如Mozilla和Google Chrome)强加了更加严格的安全性限制,这些限制禁止跨站点AJAX请求。 问题是我无法控制站点所在的域或Web服务器。这意味着我的REST Web服务必须在其他地方运行,并且我无法采用任何重定向机制。 这是进行

  • 问题内容: 我有一个现有的jQuery插件,可以进行很多AJAX调用(主要是JSON)。我想知道最快允许它进行跨站点调用的方法,即$ .get和$ .post URL不会来自同一域。 我听说过JSONP,但是想知道是否有人可以给我一个具体的例子来介绍整个过程。如果可能,我希望对脚本进行最少的更改。我应该使用某种proxy.php吗? 感谢您的时间。 问题答案: JSONP将允许您进行跨站点调用。请

  • 问题内容: 我正在尝试使用“ GWT请求”构建器发出“跨站点请求”,但我无法使其正常工作。如您所见,这是一个GWT示例项目的大部分内容,我已经浏览了https://developers.google.com/web- toolkit/doc/latest/tutorial/Xsite 。但是我仍然缺少一些东西。 我在这里发布代码。我在想什么..? 问题答案: 实际上,如果可以在Servlet Re

  • 问题内容: 我正在尝试对Wikipedia API进行GET请求。如下使用jQuery可以正常工作: 但是我想使用fetch或axios api,该API会在 飞行前 通过请求方法 OPTIONS 停止。为什么它在jQuery中起作用,但在其他API中却不起作用? 我看到它可能与GET请求的Content-Type有关,在jQuery上,默认值似乎是 text / plain ,但是尝试更改fet

  • 问题内容: 阅读有关CORS(跨源资源共享)的信息后,我不了解它如何提高安全性。如果发送了正确的ORIGIN标头,则允许跨域AJAX通信。例如,如果我发送 来源:http://example.com 服务器检查此域是否在白名单中,以及是否在标头中: 访问控制允许来源:[此处接收的网址] 与响应一起发送回去(这是简单的情况,也有预先要求的请求,但问题是相同的)。 这真的安全吗?如果有人想接收该信息,

  • 本文向大家介绍JQuery Ajax执行跨域请求数据的解决方案,包括了JQuery Ajax执行跨域请求数据的解决方案的使用技巧和注意事项,需要的朋友参考一下 今天前端因为需要ajax调用两个不同的项目,请求域不一样,所以涉及ajax跨域的问题 ,其实很简单,具体如下 原来的ajax请求如下: 只需改动ajax固定参数 dataType:"jsonp", crossDomain:true, jso