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

Ajax请求发送中本地主机和IP地址之间的区别

孔阳炎
2023-03-14
问题内容

我对本机Ajax请求调用有一个奇怪的问题。

我正在创建Ajax对象并发送请求,如下所示:

var xmlHttpObj = new XMLHttpRequest();

....

xmlHttpObj.open("GET","http://192.168.16.254:8080/ajax/demoExample.html",true);
xmlHttpObj.send();

当我使用类似的URL访问servlet时http://localhost:8080/ajax...,则无法在客户端得到响应。但是我可以在服务器端看到响应。

与我调用请求的方式非常相似

xmlHttpObj.open("GET","http://localhost:8080/ajax/demoExample.html",true);

我的网址是http://192.168.16.254:8080/ajax...,那么我也无法在客户端看到响应。

我知道解决问题的最佳方法。

我可以用

xmlHttpObj.open("GET","../ajax/demoExample.html",true);
xmlHttpObj.send();

那么我的本地主机或IP地址都没有问题。

但是我仍然认为为什么ajax请求中的本地主机和IP地址之间有区别。


问题答案:

它更多的是安全性而不是问题:

该同源策略阻止从一个原点加载从获取或设置从另一个起源上的文档属性的文档或脚本。

本地主机和192.168.16.254被认为是不同的来源。指向相同地址的两个主机名也是如此(它们可能(可能会)指向同一服务器上的不同站点/应用程序)。AFAIK解决此问题的唯一方法是iframe用于内容或JSONPjson。尽管在您的情况下,相对URL是可行的方法。



 类似资料:
  • 本文向大家介绍IP地址和MAC地址之间的区别,包括了IP地址和MAC地址之间的区别的使用技巧和注意事项,需要的朋友参考一下 MAC地址和IP地址,都用于识别网络或Internet上的计算机。MAC地址由NIC卡的制造商提供,并提供计算机的物理地址。IP地址由Internet服务提供商提供,被称为网络上连接的计算机的逻辑地址。 以下是MAC地址和IP地址之间的一些重要区别。 序号 键 MAC地址 I

  • 本文向大家介绍静态IP地址和动态IP地址之间的区别,包括了静态IP地址和动态IP地址之间的区别的使用技巧和注意事项,需要的朋友参考一下 静态IP地址和动态IP地址都用于标识网络或Internet上的计算机。静态IP地址由Internet服务提供商提供,并且在系统连接到网络之前一直保持固定。动态IP地址由DHCP提供,通常公司会获得一个静态IP地址,然后为其在组织网络内的计算机生成动态IP地址。 以

  • 在JMETER中,高级选项下的Http请求,我选择了'IP/Hostname'并添加了IP地址。我还将目标IP添加到计算机中的“高级TCP/IP设置”中,但仍然得到以下错误: 在org.apache.http.conn.socket.plainConnectionSocketFactory.connectSocket(plainConnectionSocketFactory.java:72)在or

  • 问题内容: 我的应用程序服务器有一个基于Node.js的部署脚本。部署过程中的第一步是在向DNS注册之前,验证这些应用服务器是否正确侦听HTTPS。为此,我只需要向该服务器的IP地址发出HTTPS请求即可。 如果这是HTTP,则不是问题。我可以向发出HTTP 请求,这将起作用。但是,如果我发出HTTPS GET请求,则此操作将失败,因为证书用于特定的主机名,例如。 如果我是手动测试,则将IP地址临

  • 我在本地网络的另一台计算机上启动了一个Apache web服务器,该服务器的根文件夹中有一个.php文件,因此我可以使用“192.168.1.5/connect.php?param1=value1&param2=value2”这样的地址从浏览器发送请求。我真的需要从我的Java代码(通过使用HttpUrlConnection),但由于某种原因,它只适用于url,而不适用上面提到的IP地址。有没有一

  • 如何使用库存文件中的主机名和IP地址的值? 例如,我在文件中只有一个主机,名称为 FQDN,但这是在 DNS 服务器上注册的。 我尝试了一些变量,但总是得到主机名。但是,需要他们两个:( My test.yml file: 输出是: