我是一个新手网络开发者,我根本不知道前端javascript如何知道其各自服务器的主机和端口是什么。我从来没有告诉前端信息,但它只是默认 - 这是怎么回事?例如,我的前端JavaScript程序正在localhost:3000与我的服务器通信。但JavaScript代码中没有任何内容告诉程序服务器位于localhost:3000。
正如一个答案所示,它必须是默认值,因为当用户导航到URL时,该信息已提供给浏览器,因此它可能存储在window.location中。
另外,正如一个答案所示,如果您希望您的前端与不在您导航到的页面的URL处的服务器通信,您可能必须使用CORS https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
答案 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