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