【发布时间】:2016-05-24 21:44:10
【问题描述】:
我对此感到非常困惑。当我几年前开始从事 Web 开发时,我记得遇到过 SOP 阻止了我的请求。
然而,从那以后我就忘记了它,并且多年来一直没有遇到它。我知道它仍然存在,但我可以在请求失败的情况下执行 $.ajax 或任何其他此类变体。我公司的页面通过多个框架向 3rd 方服务发出数十个请求,没有任何问题。
有什么关系?仅仅是现代 Web 框架和库知道如何解决它并为我处理它吗?可能是因为我多年来没有手写XMLHttpRequest,所以我不再遇到它了? XMLHttpRequest 是否有一些选项可以解决这个问题,比如origin?
【问题讨论】:
-
SOP 从未阻止请求。它确实(并且确实)阻止了对响应的访问。
-
你在找CORS
-
投反对票的一个很好的理由(尽管我自己并没有投反对票)是您问我们公司网页中的交易是什么,但您在代码、网络上提供了零技术信息网站等...您的公司网站正在使用,因此除了猜测之外,没有其他方法可以具体回答您的问题。这不是一个好问题,因此可能应该被关闭。
-
@NurbolAlpysbayev - 好吧,这里接受的答案恰好是错误的。第一段是完全错误的。同源策略确实适用于从 Javascript 发出的 GET 调用,实际上它适用于所有来自 Javascript 的任何类型的调用。这与它是否是 GET 无关。这是关于请求的来源。导致 GET 请求的 HTML 标签(如脚本标签和图像标签等)不受同源保护。
标签: javascript ajax browser xmlhttprequest same-origin-policy