JavaScript在发送AJAX请求时,URL的域名地址是使用绝对地址还是相对地址?

JavaScript在发送AJAX请求时,URL的域名地址是使用绝对地址还是相对地址?

一.开发中遇到的问题
在一个jsp页面中,一个jsp页面中ajax请求中url是这样写的
在这里插入图片描述
很明显我是想要向controller中发送请求,我的controller中的RequestMapping是这写的
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

我之前发送ajax请求中的url都是写成/system/login这样,但是这里我不太清楚为什么直接写成login可以访问,但是写成/system/login却不能访问

二.问题分析
在查看浏览器检查中,发现没有改动url即写成’login’时,是可以正确访问的到的。在这里插入图片描述

当我改为/system/login时,无法找到正确路径
在这里插入图片描述

看这里可以看到这个路径把项目名丢了,于是想到是相对路径和绝对路径的问题

三.ajax请求中url中的相对路径和绝对路径
绝对路径
即包含完全请求路径,即请求头,主机地址,端口,项目名等都有,在这个例子中,绝对路径为http://localhost:8080/HotelSSM/system/login

相对路径
url中的相对路径分为两种:

有’/‘符号,在这个例子中,/system/login即为这一种,开头的’/'是指根路径,其相对的是服务器的根路径,即为http://localhost:8080。所以当我填写为/system/login时,访问的路径会变为http://localhost:8080/system/login
在这里插入图片描述

无’/'符号,在这个例子中,'login’即为这一种,其相对的是我这个jsp页面的地址,我这个jsp页面的地址为http://localhost:8080/HotelSSM/system/login,当我发送ajax请求中,因为其没有经过视图解析器,又因为相对路径的作用,所以会找controller中的system/login的post方法,所以会正确访问到这个方法。

什么是浏览器跨域访问操作,js如何实现?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值