2 xueyunlang XueYunLang 于 2016.04.13 20:24 提问

jquery $.post请求url的解析问题

springmvc项目

js代码:

 $.post('index/nextGroupSearch',{},function(){})

controller代码:

 @RequestMapping("/index/nextGroupSearch")
 public String xxxx(){}

前台出发post提交,浏览器报404错误,解析的url为
http://xxxxx:8080/index/nextGroupSearch

从上面的url看,明显是缺少项目名,此处存在疑问,post请求的url前面都必须手动添加项目名吗

4个回答

CSDNXIAOD
CSDNXIAOD   2016.04.13 20:32

url post请求
OPenAM(OPenSSO)URL POST请求
jQuery Ajax请求-jQuery.post(url, [data], [callback], [type])
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

showbo
showbo   Ds   Rxr 2016.04.14 09:31

你用的相对地址,浏览器会依据当前的url地址自动附带上你配置的url地址

如你当前页面为 http://xxxxx:8080/abc/xx.jsp

最终ajax请求的地址为http://xxxxx:8080/abc/index/nextGroupSearch,所以你想要搞清楚你的url地址是什么先,然后可以配置绝对地址
http://xxxxx:8080/nextGroupSearch或者/nextGroupSearch

showbo
showbo 回复XueYunLang: 不可能啊,什么浏览器。。你怎么知道缺少app目录的?你是不是有添加过base标签指定开始地址了?如果指定过base会从base标签指定地址链接路径,而不是当前目录,你肯定是指定过base标签了
一年多之前 回复
XueYunLang
XueYunLang 我当前的页面url为http://xxxx:8080/app 在当前的页面的相应的js文件中发送post请求 $.post('index/nextGroupSearch',{},function(){}) 上面是相对路径,按照你的说法,那最终ajax请求的地址应该是http://xxxx:8080/app/index/nextGroupSearch吧, 但是现在解析出来的只有http://xxxx:8080/index/nextGroupSearch。 我昨天晚上做了一个小的测试,新建了一个简单的dynamic web project,一个jsp页面发送post请求,结果最终解析出来的还是缺少项目名, 是不是jquery的post请求不会自动携带项目名?
一年多之前 回复
XueYunLang
XueYunLang 我当前的页面url为http://xxxx:8080/app 在当前的页面的相应的js文件中发送post请求 $.post('index/nextGroupSearch',{},function(){}) 上面是相对路径,按照你的说法,那最终ajax请求的地址应该是http://xxxx:8080/app/index/nextGroupSearch吧, 但是现在解析出来的只有http://xxxx:8080/index/nextGroupSearch。 我昨天晚上做了一个小的测试,新建了一个简单的dynamic web project,一个jsp页面发送post请求,结果最终解析出来的还是缺少项目名, 是不是jquery的post请求不会自动携带项目名?
一年多之前 回复
XueYunLang
XueYunLang 我当前的页面url为http://xxxx:8080/app 在当前的页面的相应的js文件中发送post请求 $.post('index/nextGroupSearch',{},function(){}) 上面是相对路径,按照你的说法,那最终ajax请求的地址应该是http://xxxx:8080/app/index/nextGroupSearch吧, 但是现在解析出来的只有http://xxxx:8080/index/nextGroupSearch。 我昨天晚上做了一个小的测试,新建了一个简单的dynamic web project,一个jsp页面发送post请求,结果最终解析出来的还是缺少项目名, 是不是jquery的post请求不会自动携带项目名?
一年多之前 回复
haoyunyun888
haoyunyun888   2016.04.14 08:34
$.ajax({
       type: "POST",
       url: "table2.php",
       data: {name:$("#a").val(), pwd:$("#b").val()},
       success: function(msg){
         $('#aaaaa').html(msg);
       }
    });
XueYunLang
XueYunLang 这个不是我想要的,还是谢谢
一年多之前 回复
XueYunLang
XueYunLang   2016.04.14 09:52

我当前的页面url为http://xxxx:8080/app
在当前的页面的相应的js文件中发送post请求

 $.post('index/nextGroupSearch',{},function(){})

上面是相对路径,按照你的说法,那最终ajax请求的地址应该是http://xxxx:8080/app/index/nextGroupSearch吧,
但是现在解析出来的只有http://xxxx:8080/index/nextGroupSearch。

我昨天晚上做了一个小的测试,新建了一个简单的dynamic web project,一个jsp页面发送post请求,结果最终解析出来的还是缺少项目名,
是不是jquery的post请求不会自动携带项目名?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!