struts 2和jquery ajax调用

时间:2012-11-22 05:44:29

标签: spring jquery struts2 struts2-jquery

我正在使用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行

请给我解决此问题的想法 感谢

2 个答案:

答案 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