我正在使用Spring3,struts 2和jquery jquery-1.8.2.js开发Web项目。
这是我的jquery ajax调用
function(){
var data = {};
data['patientFETO.title'] = $('#idSelTitle').val().trim();
data['patientFETO.firstName'] = $('#idFirstName').val().trim();
data['patientFETO.lastName'] = $('#idLastName').val().trim();
data['patientFETO.mobileNumber'] = $('#idMobileNumber').val().trim();
data['patientFETO.idNumber'] = $('#idIDNumber').val().trim();
data['patientFETO.gender'] = $('#idSelGender').val().trim();
data['patientFETO.age'] = $('#idAge').val().trim();
data['patientFETO.dob'] = $('#idDOB').val().trim();
$.ajax({url:'savePatientAction',
cache: false,
type:"POST",
data:data,
dataType: 'json',
error: function(XMLHttpRequest, textStatus, errorThrown){
alert('Error ' + textStatus);
alert(errorThrown);
alert(XMLHttpRequest.responseText);
},
success: function(data){
alert('SUCCESS');
}
这是我的struts动作映射
<action name="savePatientAction" class="appointmentAction" method="doPatientSave">
<result name="success">/account/confirmation.jsp</result>
<exception-mapping result="success" exception="e"></exception-mapping>
</action>
当我运行时给出 SyntaxError:JSON.parse:意外字符 “http://localhost:8080/ML/resources/js/jquery-1.8.2.js” 第7764行
请给我解决此问题的想法 感谢
答案 0 :(得分:0)
请按以下步骤操作: 1. struts.xml - 您需要启用JSON结果类型 2.在动作映射中,
进行这些更改后,当您调用响应时,将采用JSON类型,ajax调用可以处理
答案 1 :(得分:0)
函数$.ajax()
应执行此操作:error: function(jqXHR, textStatus, errorThrown)
,而不是error: function(XMLHttpRequest, textStatus, errorThrown)
,关注DOCUMENT:
A function to be called if the request fails.
The function receives three arguments:
The jqXHR (in jQuery 1.4.x, XMLHttpRequest) object,
a string describing the type of error that occurred
and an optional exception object, if one occurred.
由于您使用的是jquery 1.8, you should change the name of the parameter