Tomcat下ajax请求路径总结

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

以上内容,都是基于该环境测试自行总结出的,并无理论依据,若有错误请留言。

原文地址:https://www.cnblogs.com/jpfss/p/9680219.html

时间: 2024-10-12 16:09:30

Tomcat下ajax请求路径总结的相关文章

Tomcat下配置虚拟路径管理web项目

关于虚拟路径.在学习javaweb的培训课程,今天老师给出了这样一个场景. 当我们的项目,在有一个项目不同的目录的时候,我们如何去使用tomcat去管理web项目. 老师提出的解决方案是 利用虚拟路径的方式,并且按照如下方式对tomcat进行配置.使得 tomcat可以管理不同目录上的项目. 我的问题:项目不是转换成war包发布到tomcat上吗,然后放在了webapps目录下面吗? 或者直接把项目放置webapps下面. 1.为什么有可能出现 管理不同目录下的web项目呢? 2.上面两种方式,

SpringMVC下Ajax请求的方法,@Responsebody如果返回的是布尔值,ajax不会接到任何回传数据

SpringMVC框架下,如果用ajax向后台请求得方法如果使用@Responsebody返回布尔值的话,ajax得不到任何的回传数据. 但是如果返回String类型,就是正常的. 测试了下代码写得没有任何问题,也不报错.只是在地址栏直接输入ajax请求的url会报404. The resource identified by this request is only capable of generating responses with characteristics not accepta

解决IE下Ajax请求无效

在做web开发是,大多时候都会使用FireFox作为调试的浏览器.上面携带的FireBug用来调试JavaScript实在是太方便了,绝大多数的问题都能够通过它跟踪调试出来.但是,当项目发布时,不能仅在这一款浏览器是运行正常就算正常了.还要做浏览器的兼容性测试.说到IE,相信很多人都会很头疼.这段时间就碰到了问题,使用Ajax去后台请求数据,在前台更新显示.开发阶段,在FireFox上一切正常.但到了测试阶段,在IE上,这个小小的功能却怎么也没法正常运行.好在,之前有所耳闻IE的这个“亮点”,于

iView-admin下设置请求路径

baseUrl我现在也没搞懂是干啥的,一直在baseUrl上费工夫,请求的路径始终是demo的.设置跨域就解决了问题. 1,注释main.js下的 if (process.env.NODE_ENV !== 'production') require('@/mock') 2.设置跨域 vue.config.js里 devServer: { proxy: 'http://xxxxxx/api/' } 3.设置headers头 lib/axios.js文件里,删除content-type项,系统已内置

django下ajax请求403(FORBIDDEN)的解决办法

环境 django 1.8.3 错误描述 POST http://localhost:8000/ajax_query_data/ 403 (FORBIDDEN) 解决办法 django官方文档上如下内容: https://docs.djangoproject.com/en/dev/ref/csrf/#ajax AJAX While the above method can be used for AJAX POST requests, it has some inconveniences: yo

ajax请求路径正确,可是页面提示404错误。

昨晚项目升级,开发环境.测试环境一切OK,一上线,页面空白.页面console打印404.查看后台日志报如下错误:. Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=' 数据库: mysql 可见404不一定是URL的问题哦. 解决问题的办法: 找到与该请求相关的查询语句,我是用 Spring jdbcTemplate做的,找到对应sql所涉及到

mvc下ajax请求遇到session超时简单处理方式

转自:http://blog.csdn.net/yeyicsdn/article/details/50032787 参考网址:http://www.cnblogs.com/RachelChen/p/5433881.html 修改了前台全局ajax部分代码,如下: $(document).ajaxComplete(function (event, xhr, settings) { //通过XMLHttpRequest取得响应头,sessionstatus, var sessionstatus =

spring mvc 下ajax请求返回值问题

$.ajax({ url:"url", data:{Value:value}, dataType:"text", success:function(data){} }) JsonArray rejs = JsonArray.fromObject(); request.setCharacterEncoding("utf-8"); //这里不设置编码会有乱码 response.setContentType("text/html;charse

session过期情况下ajax请求不会触发重新登录的问题

在拦截器中添加以下逻辑 String requestType = request.getHeader("X-Requested-With"); if (!StringUtils.isEmpty(requestType) && requestType.equalsIgnoreCase("XMLHttpRequest")) { response.setHeader("sessionStatus", "timeout"