版权声明:借鉴时注明出处就行 https://blog.csdn.net/weixin_42144379/article/details/84898930
今天写页面的时候遇到一个奇怪的问题
前端这么写的:
$("#submitMsg").click(
function () {
console.log("进入事件");
$.ajax({
type:'post',
data:$("#form-msg").serialize(),
url:"/jacktu/main/send_msg.do",
dataType:"json",
success:function(data){
if(data=="successful"){
$("#aeraMsg").val("").focus();
alert("提交成功!");
}else{
alert("提交失败!");
}
},error:function(){
alert("错误!");
}
})
}
);
后端处理:
@RequestMapping(value="/send_msg",method=RequestMethod.POST)
@ResponseBody
public String get_msg(HttpServletResponse response,HttpServletRequest request) {
String leave_msg = request.getParameter("leave_msg");
String user_name = request.getParameter("user_name");
mainservice.saveMsg(user_name,leave_msg);
return "successful";
}
每次提交,后台处理请求都成功走到了 successful 这一行
但是,前端接收数据后 却一直走到 error 的 function
研究了一会后才发现,自从 jquery 1.4以后 对于 json 数据格式更加严谨
我前端指定 dataType:"json" 但是 后端 只返回一个 String ,显然不符合要求
所以我把前端的 dataType:"json" 改为: dataType:"text" ,至此问题解决