spring controller使用了@ResponseBody却返回xml


使用ajax请求数据

$.ajax({

   url:message.rootPath +"/sendMessage.xhtml",
type:"post",
dataType:"json",
data:
{
sendWay:sendWay,
sendTo:sendTo,
groupId:groupId,
userId:userId,
messageTitle:messageTitle,
messageTicket:messageTicket,
messageType:messageType,
messageContent:messageContent
},
success:function(result)
{
if(result.success)
{
parent.$.messager.alert("提示","发送成功")
}else
{
parent.$.messager.alert("提示","发送失败")
}
},
error:function()
{
parent.$.messager.alert("提示","系统异常")

}
});
controller里
/**
* 后台配置发送消息
* @param messageForm
* @return
*/
@RequestMapping(value="sendMessage.xhtml",method=RequestMethod.POST)
@ResponseBody
public ResponseEntity<Void> sendMessage(MessageForm messageForm)
{
try {
messageFormService.sendMessage(messageForm);
return new ResponseEntity<Void>(true);
} catch (AdqException e) {
e.printStackTrace();
}
return new ResponseEntity<Void>(false);
}

同一个Action中返回实体能解析成json
最后发现是前端ajax没有加dataType
看Jquery API
预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML。
在1.4中,JSON就会生成一个JavaScript对象,而script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM