ajax的url有两种,一种是
绝对路径,另一种是相对路径。
一、
绝对路径:
包括协议
名称、主机地址、端口、web项目
名称等的完整请求路径。
例如:
$.ajax({
url:"http://localhost:8080/webname/test"
});
好处:比如在webA项目中的ajax需要请求webB项目中的服务,则必须使用
绝对路径。
坏处:使用
绝对路径要求古地理更web项目的
名称,如果webB项目
重命名了,则对应的ajax请求都需要
修改。
二、相对路径:不需要协议名、主机地址、端口、web项目
名称,只需要请求的路径。
假设:
项目路径:http://localhost:8080/webname
页面路径:/webname/index.html(A
页面),/webname/test/test.html(B
页面)
请求路径:/request/ajaxtest,request/ajaxtest
1、如果请求路径以根路径开头,则无论什么ajax在什么
页面,该请求都是相对于服务器的根路径,最后的请求路径都是:http://localhost:8080/request/ajaxtest
例如:
$.ajax({
url :"/request/ajaxtest"
});
原因:以"/"开头,是表示该请求基于从服务器的根路径,即不是相对于html的路径。
2、如果请求不以根路径开头(常见),则该请求路径是相对于html所在的路径的。
a、假如请求在A
页面,最终的请求路径是:http://localhost:8080/webname/request/ajaxtest。
// /webname/index.html
页面
$.ajax({
url:"request/ajaxtest"
});
原因:index.html
页面对应的路径是"/webname/",所以将url跟
在这个路径下就是最终的请求路径。
b、假如请求在B
页面,最终的请求路径是:http://localhost:8080/webname/test/request/ajaxtest。
// /webname/test/test.html
页面
$.ajax({
url:"request/ajaxtest"
});
原因:test.html
页面对应的路径是“/webname/test/”,所以将url要跟在test这一级下面。
三、环境描述
web服务器:Tomcat7
MVC框架:springMVC
以上
内容,都是基于该环境测试自行总结出的,并无理论依据,若有
错误请留言。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。