前端JavaScript的服务器主机和端口

时间:2015-06-25 19:22:25

标签: javascript web

我是一个新手网络开发者,我根本不知道前端javascript如何知道其各自服务器的主机和端口是什么。我从来没有告诉前端信息,但它只是默认 - 这是怎么回事?例如,我的前端JavaScript程序正在localhost:3000与我的服务器通信。但JavaScript代码中没有任何内容告诉程序服务器位于localhost:3000。

正如一个答案所示,它必须是默认值,因为当用户导航到URL时,该信息已提供给浏览器,因此它可能存储在window.location中。

另外,正如一个答案所示,如果您希望您的前端与不在您导航到的页面的URL处的服务器通信,您可能必须使用CORS https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

3 个答案:

答案 0 :(得分:1)

通过Ajax的浏览器只能连接到页面来自的相同地址。因此,每个请求都发送到同一个服务器:页面来自端口。

如果你想做一些奇特的事情,你需要转移到jsonp或类似的东西。

答案 1 :(得分:1)

这是由于javaScript的window.location对象。

window.location.hostname提供主机名,例如www.mysite.com

window.location.port提供端口名称

window.location.protocol提供使用的协议,例如http:,https:etc

window.location对象中还有其他属性。查看this

这是你在问什么?

答案 2 :(得分:0)

网络的默认端口是80。

在您的服务器配置中,您可以设置此项。

浏览器假定http的正确端口为80。其他协议具有不同的默认端口。

您可以使用:指定希望浏览器访问的端口,如此 -

http://example.com:8080 - 将尝试访问网址的端口8080