javascript - Thinkphp使用ajax的时候,有时候使用相对地址是报错,是什么原因?

 全球不懂我_934 发布于 2022-11-11 00:57

比如:

var root=window.location.origin;

$.post(root+"/"+url,data,function(d){
    console.log(d);
  if(d.status==1){
    location.reload();
  }
})

比如上面这段代码,其中url已经在前面用U方法获取了相对地址。
如果我在post的时候,直接使用url就会返回整个页面,
添加了root后,就可以正常使用。

有遇到过相似情况的吗?

而且只是在有些地方会这样,一般情况不会出现这样的。

本页面使用了百度编辑器,会有什么影响吗?

补充说明:
上面可能表达得不太清楚,我添加了root后的请求地址是:root+"/"+url,
没有添加的时候请求的是:url (这时我并没有在前面加"/").

url的地址是用Thinkphp的U方法在本页面获取的,当然是可以直接访问,正确的地址;所以我才会有这样疑问。

3 个回答
  • base_url大法好。

    2022-11-12 01:53 回答
  • /是根地址,直接用/说明从域名+/+url来访问,如果你访问的地下刚好是根地址就不会错,同样也会出现找不到的问题;
    你使用window.location.origin说明你使用了相对地址,你请求的url刚好在window.location.origin这个相对地址下所以才正确的;
    你最好把你的AJAX请求路径都从根目录开始,写全路径,这个问题本身和tp没什么关系,是你自己对请求地址的理解不正确。

    2022-11-12 01:53 回答
  • 相对地址是相对当前浏览器地址栏的地址,和ThinkPHP无关。

    2022-11-12 01:53 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有