gpt4 book ai didi

javascript - "is not allowed by Access-Control-Allow-Origin"内网Windows服务器之间

转载 作者:行者123 更新时间:2023-11-28 16:09:51 26 4
gpt4 key购买 nike

我们的网络上有 2 个内部(内联网)Windows 服务器,仅适用于本地网络。在 server1 上安装了 Spark,我们可以在其中查询 Jabber 信息,如下所示:

http://server1/plugins/presence/status?jid=username@jabbersrv&type=text

server2 上安装了 Spiceworks,我编写了一个插件来查询 Jabber 状态,如下所示:

xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "http://server1/plugins/presence/status?jid=username@jabbersrv&type=text", false );
xmlHttp.send( null );
statusStr = xmlHttp.responseText;

但是此代码(在 server2 上)返回错误:

XMLHttpRequest cannot load http://server1/plugins/presence/status?jid=username@jabbersrv&type=text. Origin https://server2 is not allowed by Access-Control-Allow-Origin.

为什么这不起作用?我有一些 VB.net 代码可以在相同的环境中很好地完成此任务:

Dim jbrStatus As New System.Net.WebClient
Dim userStatus As String = jbrStatus.DownloadString("http://server1/plugins/presence/status?jid=username@jabbersrv&type=text")

尽管 Openfire 位于 server1 上,但它们都没有运行 Apache 或我所知道的那种类型。这两台服务器是否应该本质上不相互信任,因为它们是内部的(在同一域上)?在 Windows 域和 Windows 服务器上实现此功能的最佳方法是什么?

我尝试将 server2 域服务器添加为 server1 上的本地管理员,但没有成功。

最佳答案

它们是否在同一网络上并不重要。如果它们有不同的域名,XMLHttpRequests 默认情况下将不起作用。您需要服务器发回某些 header ,例如 Cross-Origin Resource Sharing 。请注意,这仅适用于较新的浏览器。

关于javascript - "is not allowed by Access-Control-Allow-Origin"内网Windows服务器之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13387267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com