You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jQuery中获取主机名?改造getJSON适配多服务器相对URL

嘿,针对你的两个问题,我来给你捋捋:

问题1:如何在jQuery中获取主机名?

其实完全没必要依赖jQuery来做这件事,原生JavaScript的location对象就能直接搞定,而且更高效:

  • 直接用location.hostname就能获取当前页面的主机名(比如yourdomain.com)
  • 如果非要用jQuery的写法,也可以写成$(location).attr('hostname'),但这属于多此一举的封装,原生写法更简洁直接。
问题2:修改getJSON的URL为相对路径适配多服务器

你的需求真的很简单,根本不用手动去拼接协议、主机名这些内容,直接用相对路径就完美解决了——浏览器会自动帮你补全当前页面的域名和协议:

把你原来的代码:

$.getJSON("http://server.com/?apirequested=userinfo", function(data){ 
  // ... 你的业务逻辑
});

改成这样就行:

$.getJSON("/?apirequested=userinfo", function(data){ 
  // ... 你的业务逻辑
});

这里的/?apirequested=userinfo是根相对路径,不管你的页面部署在http://server-a.com还是https://server-b.com,浏览器都会自动拼接成对应的完整请求URL,完全适配多服务器场景。

另外提一句,你之前尝试的拼接写法里有个小拼写错误:location.hostame少写了一个n,正确的是location.hostname,不过哪怕改对了,这种手动拼接的方式也不如直接用相对路径稳妥省心。

内容的提问来源于stack exchange,提问作者Manolo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:44:19