ajax 后台正常执行,前台报错信息却是404
检查下后台设置Response输出对象的StatusCode为什么404的,要不也会提示404状态
原因和解决方法【感谢网友】:
先前忽略了注解@ResponseBody的作用。
@responsebody表示该方法的返回结果直接写入HTTP response body中
一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。
后台正确代码
@RequestMapping(value = "/getLenderMsg")
@ResponseBody
public Map<String, Object> getLenderMsg(HttpServletRequest request){
return null;
}
前台正确ajax
$.ajax({
url : "${path}/epweb/contractLenderModify/getLenderMsg",
data : {"contractnum":contractnum},
type : "post",
dataType : "json",
cache : false,
error: function(textStatus, errorThrown) {
},
success : function(data) {
if(data.msg == "suc"){
$("#lenderName").val(data.name);
$("#idType").val(data.idType);
$("#idNo").val(data.idnum);
$("#lender").show();
}else{
$("#lenderName").val("");
$("#idType").val("");
$("#idNo").val("");
$("#lender").hide();
}
}
});
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo