Как получить ответ Ajax в Struts2

Я ссылался на эту ссылку Ajax, вызывая действие, но я не могу Привет сделать действие, используя ajax. вот мой код

   $.ajax({
            type:'POST',
            dataType:'json',
            url:'ajaxAction?ajax_docno='+entry1+'-'+entry2+'-'+entry3+'-'+entry4,
        success:function(data,textStatus,jqXHR)
                   {
                     if(jqXHR.status==200)
                        alert("success");
                      }
                     if(jqXHR.status==500)
                       {
                           alert("Fail");
                          }
               }


               }
                   );

МОИ STRUTS.XML

 <action name="ajaxAction" class="com.AjaxActionClass" method="checkExistence" > 
        <result name="success" type="httpheader">
                <param name="status" >200</param>
        </result>
        <result name="fail" type="httpheader">
                <param name="status" >500</param>
        </result>

    </action>

В классе МОЙ АКЦИИ

 public  String checkExistence()
   {
        //DB checkup
         if exists return success;
         if not exists return fail;
       }

Это работает нормально

В своем классе действий я проверяю наличие данных в БД и возвращаю некоторое значение в jSP, чтобы показать сообщение.

Моя проблема в том, как передать переменные в JSP, чтобы показать некоторые alert сообщение для пользователя, если данные не находятся в базе данных.

2 ответа

Решение

Спасибо за ответ. Я не ошибаюсь в вашем ответе, но теперь могу сделать это, используя следующий код

  $.ajax({
        type:'POST',
        dataType:'json',
        url:'ajaxAction?ajax_docno='+entry1+'-'+entry2+'-'+entry3+'-'+entry4,
      statusCode:{500:function(){alert("The document number is alredy Exist");},
                        200:function(){alert("Good Work !! You can proceed.");}                     }


           }
               );

Там 3 способа:

Вы можете отправить JSP или JSON или просто коды состояния.

JSP

$.ajax({
...
success:function(data){
    alert(data);            //In case of JSP
}

<action name="myaction" class="actions.MyAction">
    <result name="success">/success.jsp</result>
    <result name="error">/error.jsp</result>
</action>

JSON

$.ajax({
...
success:function(data){
    var json=eval(data);       //Untested, but should give an idea - JSON
    alert(json.message); 
}


 <action name="myaction" class="actions.MyAction">
    <result name="success" type="json"/>
    <result name="error" type="json"/>
</action>         <!-- for JSON result, don't forget to extend json-default in the package-->

Статус

$.ajax({
...
success:function(data,textStatus,jqXHR){
   if(jqXHR.status==200){
       alert('success');
   }else if(jqXHR.status==201){
       alert('failure');
   }
}


<action name="myaction" class="actions.MyAction">
    <result name="success" type="httpheader">
         <param name="status">200</param>
    </result>
    <result name="error" type="httpheader">
         <param name="status">201</param>
    </result>
</action>

(Документация Jquery Ajax] ( http://api.jquery.com/jQuery.ajax/)

Другие вопросы по тегам