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

我可以在与从该端口加载的脚本文件不同的端口上使用XMLHttpRequest吗?

梁研
2023-03-14
问题内容

我有使用XMLHttpRequest(实际上是jQuery)的网站。我还在同一服务器上运行了另一个站点,该站点提供一个脚本文件,该脚本文件使XHR请求返回到该站点,即。

http:// mysite:50000 / index.html 包括

<script src="http://mysite:9000/otherscript.js"></script>

并且 http:// mysite:9000 /
otherscript.js
包括

$.ajax({
    url: 'http://mysite:9000/ajax/stuff'
});

问题是-
这不起作用。来自已加载脚本的AJAX请求只是失败而没有错误消息。从我能够发现的内容来看,这是古老的原产地政策。既然我同时控制了这两个站点,那么我能做些什么来做这项工作?对于XMLHttpRequest,“
document.domain”技巧似乎没有作用。


问题答案:

不,XHR无法做到这一点。相同的域策略对相同的主机,相同的端口,相同的协议有严格的限制。抱歉!
您必须借助其他技巧(iframe,标题操纵等)才能使它起作用。



 类似资料:
  • 我应该在非80端口上使用WebSocket吗?它是否破坏了使用现有web/HTTP基础设施的全部目的?我认为它不再适合非80端口的WebSocket名称。 如果我在其他端口上使用WebSocket,为什么不直接使用TCP呢?或者WebSocket协议本身有什么特殊的好处吗? 由于当前WebSocket握手是HTTP UPGRADE请求的形式,这是否意味着我必须在端口上启用HTTP协议才能完成Web

  • 我有一个带有两个控制器的Spring应用程序。我想在本地主机8080上运行一个控制器,在本地主机8081上运行第二个控制器。 我是否能够将Tomcat配置为同时为两个端口服务,即8080和8081?有可能吗?怎样 请注意,它不是Spring Boot应用程序。

  • 问题内容: 我的php文件位于端口80(默认端口),而我的ajax调用位于端口8080上。 我在端口8080上的index.html 我的PHP 我有点google,JSONP大多出来了。知道如何将其转换为JSONP吗? 有什么办法可以使其工作? 问题答案: 实施JSONP服务非常简单,您只需要一个 回调 GET参数,最后,打印一个包含与以JSON数据作为参数的函数调用等效的字符串: 然后,您可以

  • 问题内容: 我想更改mysql docker容器的默认公开端口,但是如果我尝试使用此命令: 这没用。 如果我使用标准端口3306:3306,则工作正常,但我想更改端口。有可能吗? 我已经尝试过-p 52000:3600,但是我总是得到: 问题答案: 您需要在(服务器的)首选TCP端口上映射容器端口3306: 所以对于你的mysql

  • 我想编写一个tcp服务器和客户端应用程序,在客户端使用相同端口号的情况下,它们之间有几个不同的连接。 据我所知,服务器有一个侦听器端口,当客户端调用它时,我会在服务器端为这个新连接获得一个新的套接字,当我调用它时 正当所以在服务器端,我可以识别我与这个新套接字的连接,并通过它发送数据。 现在,我的理解与客户端的问题。我打电话的时候会拿到插座 所以我只有一个插座。在 我可以指定远程地址等等。所以当我

  • 让我们假设一个后端应用程序,它公开了一些Rest API,运行在地址192.168.1.10:8889的Jetty网络服务器上。 我希望有一个前端应用程序(仅限于html/javascript,在apache2 Web服务器上)在相同的IP上运行,但在不同的端口(例如8000)上运行,它应该使用后端应用程序公开的API。 我怎样才能让这个架构工作而不进入“No'Access-Control-All