楼主,可以问一个问题吗?我第一次用springmvc,我从前台设置了action:/userExamination/StateList,后台有一个类为:userExamination,以及它下面的方法:StateList,也增加了注释,但是它就是不走StateList这个方法,可以说一下吗?
楼主你要弄清二点 1,AJAX提交的数据,在后端如果有返回,请把返回输出头写成application/JSON ,按此返回信息或按你说,直接返回空串。 2,后端如果是做跳转的页面的,也是可以接受,但是前端肯定不会做跳转,只是会把跳转后的JSP内容,返回给你。 所以,你想要改,就必须要在后端做下判断,如果发现请求头是json,做别的业务处理(更好的是另写方法)
ajax是无法再controller里面return 跳转的,可以返回后再 ajax的success里面进行 window.location.href
[quote=引用 2 楼 jimmy609 的回复:] ajax是无法再controller里面return 跳转的,可以返回后再 ajax的success里面进行 window.location.href
怎么能说 没有 return 呢 其实 是return 的 所谓的 return 无非 就是 转发到另外一个 servlet上,或者 重定向什么的, 你要 明白 ajax 请求 是 异步请求,他最后得到的是一个数据,这个数据可能是 一个 html 也可能是 json 你的 $.post 是 请求 一个controller 这个 controller return 后 是跳转到一个jsp里的 其实 ajax返回的 是jsp的内容, 而不是说 直接让你网页跳转。
$.post()是简写的ajax函数 $.ajax({ type: 'POST', url: url, data: data, success: success, dataType: dataType }); 声明是: jQuery.post( url [, data ] [, success ] [, dataType ] ) 可以在回调函数中处理,或者 .done中处理: var jqxhr = $.post( "example.php", function() { alert( "success" ); }) .done(function() { alert( "second success" ); }) .fail(function() { alert( "error" ); }) .always(function() { alert( "finished" ); });
81,092
社区成员
341,717
社区内容
加载中
试试用AI创作助手写篇文章吧