struts 2 и jquery вызов ajax

Я разрабатываю веб-проект, используя Spring3, struts 2 и jquery jquery-1.8.2.js.

это мой вызов 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

Пожалуйста, дайте мне идею, чтобы решить эту проблему Спасибо


person Pradeep Gamage    schedule 22.11.2012    source источник


Ответы (2)


Выполните следующие действия: 1. struts.xml — вам необходимо включить тип результата JSON 2. В сопоставлении действий

После внесения этих изменений при вызове ответ будет иметь тип JSON, который может обрабатывать вызов ajax.

person saasthasoft    schedule 22.11.2012
comment
Вы имеете в виду ‹имя действия=savePatientAction class=appointmentAction method=doPatientSave› ‹имя результата=тип успеха=json›/account/confirmation.jsp‹/результат› ‹результат сопоставления исключений=успешное исключение=e›‹/сопоставление исключений > - person Pradeep Gamage; 22.11.2012
comment
я уже добавил эту часть в файл struts.xml ‹package name=default extends=struts-default,json-default› - person Pradeep Gamage; 22.11.2012
comment
нет необходимости в JSP, когда тип результата json - просто оставьте это поле пустым - person saasthasoft; 22.11.2012
comment
Но я хотел перейти на эту страницу jsp. и мое действие не возвращает никаких значений для просмотра - person Pradeep Gamage; 22.11.2012

Функция $.ajax() должна делать следующее: error: function(jqXHR, textStatus, errorThrown), а не error: function(XMLHttpRequest, textStatus, errorThrown), что касается ДОКУМЕНТА:

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

person Jaiwo99    schedule 22.11.2012