我正在尝试收集所有表单数据并将其作为 XML 发送到 Controller 。此 XML 将进一步发送到后端来处理它。
无需将此 XML 编码到对象中。收到此 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;
});
最佳答案
尝试从 jquery 代码中删除 dataType: 'application/xml'。
如文档中所述:数据类型:您期望从服务器返回的数据类型。 (http://api.jquery.com/jQuery.ajax/)
关于java - Spring MVC : Receive XML data and Send String message back,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18190582/