我正在尝试收集所有表单数据并将其作为XML发送到Controller。此XML将进一步发送到后端,它将负责处理它
无需将此XML封送到Object中。收到此XML后,我只需要发送一条String success
消息。
半工作。我能够从UI页面接收XML消息,并能够在控制台上打印它。但是,当我发送成功消息后,UI ajax调用收到 No conversion from text to application/xml
@RequestMapping(value="/save",method=RequestMethod.POST,consumes={"application/json", "application/xml", "text/xml","text/plain"})
@ResponseBody public String handleSave(@RequestBody String formData)
{
System.out.println("comes here");
System.out.println(formData);
return "Success";
}
$('form').submit(function () {
$.ajax({
url: $(this).attr('action'),
type: 'POST',
processData: false,
data: collectFormData1(),
headers: {
"Content-Type":"application/xml"
},
dataType: 'application/xml',
success: function (data) {
alert('Success:'+data)
},
error: function (jqXHR, textStatus, errorThrown) {
console.log('jqXHR:'+jqXHR+'\n'+'textStatus:'+'\n'+textStatus+'errorThrown::'+errorThrown);
}
});
return false;
});
答案 0 :(得分:3)
尝试从jquery代码中删除dataType:'application / xml'。
如文档中所述:DataType:您期望从服务器返回的数据类型。 (http://api.jquery.com/jQuery.ajax/)