ajax调取springmvc controller报404错误及表格提交

今天遇到一个很奇怪的问题,前台ajax中写的url地址明明与controller requestmapping地址匹配,但一直报404的错。后来和其他的方法一比对,发现是没有加@ResponseBody注解。加上之后就正常了。

@ResponseBody注解的意思是直接输出,所以我一直以为只和输出内容有关,总觉得应该是先匹配地址,然后匹配对了,执行方法再输出内容,看来不是如此。

另外记下提交前台表格的两种方法:

$.ajax({
                url:"your_url",
                data:$("#Form").serialize(),
                type:"post",
                success:function(data){
                    if(data.code=="0")
                        alert("success");
                    else
                        alert("failure");
                }
            });        

将表格内的数据序列化,数据类型不要指定为json,相对应的方法里接受参数时不能加@RequestBody;

② 第二种方法与第一种方法相对,将表格内数据转化为json,数据格式也指定为json,相对应的方法接收参数的时候必须加上@RequestBody注解;

很明显第一种更简单。两种方法如果前后没有对接好,都会报503(数据格式不正确)的错误。

时间: 2024-08-06 15:40:25

ajax调取springmvc controller报404错误及表格提交的相关文章

ajax 后台java代码执行完毕 前端报404错误

一个ajax请求,到java后台代码,后台成功接受并执行相应处理,但是返回的时候,success却没进去,前端报404错误. 因为是由于Controller忘记写spring的@Responsebody注解,所以spring对返回值映射时找不到对应的视图,所以返回404 很常见的错误,虽然是拷贝,难免会忘记一些代码!

<mvc:default-servlet-handler/>导致controller失效,报404错误

最近在做ssm框架整合的一个小项目时,页面跳转一直有404错误,也没有报错提示.然后一步一步去找,终于发现是<mvc:default-servlet-handler/>的原因. 如上图所示,如果springmvc的配置文件这样写的话会报错. <mvc:default-servlet-handler/>这一行代码的意思是使用默认的Servlet来响应静态文件,因为在web.xml中使用了DispatcherServlet截获所有请求的url,包括jsp页面的关于js,css等引入.由

SpringMVC中用@ParamVariable传递的参数包含斜杠(/)时,匹配不了报404错误的解决方案

今天做网站[标签]筛选功能时,出现了这么个奇葩的问题. 我是直接通过<a>标签中href来跳转的,url中包含汉字 <a href="/tags/标签A">标签A</a> 后台代码是这样的: @RequestMapping(value = "/tags/{tagname}") public String tags(@PathVariable String tagname) { // ISO-8859-1 ==> UTF-8

对于springmvc 很奇妙的报404错误的记录

@RequestMapping("/editItems") public ModelAndView editItems(Integer id) throws Exception { @RequestMapping("/editItemsSubmit") public String editItemsSubmit(Integer id, ItemsCustom itemsCustom)throws Exception { 上述两段代码,其中/editItems.act

koa2 get请求后台正常接收参数 前端报404错误

刚学习一门技术时,总会踩一些坑. 前端代码 function del(mId){ $.ajax({ type:"get", url:"/delUser", data:{id:mId}, success:function(data){ console.log('成功了'); console.log(data); } }); } 后台接收请求代码 router.get('/delUser',async (ctx,next)=>{ console.log('接收请求

eclipse中配置的tomcat 启动正常 但是访问报404错误

问题描述: 在eclipse中配置的Tomcat,启动是正常的,控制台显示启动成功,也没有报任何错误信息,但是访问的时候就报404错误,然后直接在bin目录下启动startup.bat的方式就是正常的.然后就很纳闷,之后在网上搜了下资料,说是Eclipse的配置出了问题. 解决方案: 1.如果Server里的tomcat启动了,需要先停掉.然后再移除添加的项目 2.之后双击server中配置的tomcat服务器,会弹出如下界面. 3.在Server Locations配置中选择第二个选项,use

IntelliJ IDEA 文件夹重命名--解决重命名后js文件引用找不到路径报404错误

情景: 说明:ExtJS是我后来的改的名字--原来叫extjs,可是当我把在页面的引用地址改为 src="ExtJS/.."后页面就报404错误,我把它改回之前的extjs就可以(像上面的一样),这个小问题真心烦,百度也没有. 后来 我又改个名字,这时候留意了: 上面红框的选项勾选就可以了.

Adobe Dreamweaver CC MySQL连接 报404错误的解决方法

Adobe Dreamweaver CC MySQL连接时总报404报错,并给以下两个提示: 1) 在该服务器机器上没有测试服务器运行. 2) 为该站点指定的测试服务器没有映射到http://localhost/_mmServerScripts/MMHTTPDB.phpURL.请确认url前缀映射到了你站点的根上. 网上翻了一堆网站,折腾了两三天,发现可以按如下方法解决: 1)首先要在http://localhost/security/index.php配置mysql的访问密码(我用的是XAMP

有关百度一键分享链接到微信朋友圈无法打开网页,报404错误的解决办法,from=timeline&amp;isappinstalled=0,和伪静态规则有关

最近有好友反映用百度一键分享,分享网页链接到微信朋友圈的时候,发现链接无法打开,提示无法找到该页404错误,同样分享到QQ.微博等链接 能正常访问,这么明显的错误,百度和腾讯应该不会忽略吧. 接报后,我专门分析了一遍他公司的网站,确实是微信朋友圈无法分享网站链接.但是通过微信扫一扫能正常浏览网页,点击分享到朋友圈后,在  从朋友圈去访问的时候,提示无法找到该页,报404错误. 经反复检测,排除了分享代码的问题,和服务器配置问题.我开始怀疑伪静态规则,开启URL重写造成的,我关掉了伪静态,让网页形