Ajax-Antwort in struts2 action-Klasse

Ich versuche zur Implementierung von ajax in jsp(vermeiden Sie die form Einreichen) mit struts2. Ich verwendete ajax-code zu übergeben, Anfrage per url zu struts2 action. Aber die Antwort von struts2 nicht aufgefüllt, im jap. Zeigt seine "null" - Wert. Mein code zum Aufruf einer action in jsp mit AJAX ist wie Folgt.

    function ajaxEditFunctionCall(){  
 var xmlHttp;
     var url = "ajaxcall.action?stateName="+frm.stateName.value;  
  try{   
    xmlHttp=new XMLHttpRequest();   
  }catch (e){
      try{ 
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
      }catch (e){ 
          try{  
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
            }catch (e){
                alert("Your browser does not support AJAX!");
                return false;
            }
      }
  }
  alert(1);
  xmlHttp.onreadystatechange = showMessage; 
      alert(2);

  xmlHttp.open("GET", URL, true); 

       alert(3);
       xmlHttp.send(null);  
  }

      function showMessage() { 
       alert("Inside Show Message1");
         alert(xmlhttp.readyState);
             if(xmlhttp.readyState==4)  
            { 
             alert("Inside Show Message2&ReadyState4");
                 alert(xmlhttp.responseText);  
            }  
       }  

   Included following code in Action Class:

public String ajaxcall() throws Exception{

     System.out.println("Inside AjaxCall");
     String errorXml = "This is a Sample to Check";  

     response.setContentType("text/html"); 
     response.setHeader("Cache-Control", "no-cache"); 
         response.setContentType("text/html");   
     response.getWriter().write(errorXml); 

     return null;

}

Code Struts.xml:

  <action name="ajaxcall" class="com.logic.action.CustomerAction" method="ajaxcall">
       <result name="success" >/pages/customer/addCustomer.jsp</result> 
   </action>

Ich denke, der Fehler ist in der action-Klasse-response-Anweisung und in struts.xml. Kann einer bitte mir helfen, dieses Problem zu beheben. Vielen Dank im Voraus.

  • Warum würden Sie "raw" JavaScript, wenn so viele bessere JS-Optionen existieren? In jedem Fall ist es einfach zu überprüfen, was kommen zurück in die Resonanz mit Firebug/Chrome-dev-tools/etc, wenn die Antwort gültig ist, dann ist es in deinem JS.
  • ich glaube, dass ein einfacher debugger wird Ihnen helfen, lokalisieren das Problem.was ist, wenn Sie das Formular abschicken ist es, perfekt zu funktionieren ?
  • Wenn ich auf submit-button ruft die javascript-und die Kontrolle geht an angegebene Aktion Klasse und print statische Meldung in der log-Datei. Aber die Reaktion kommt nicht im jsp<responseText>. Was ich in der action-Klasse richtig oder falsch?
  • Newton: ich weiß nicht, andere Javascript ajax. Es ist in Ordnung, die in Struts1, so dass ich verwendet, um zu versuchen, es in struts2. Wenn anyother Weg ist avl dies zu tun, bitte helfen Sie mir.
  • was ist diese Antwort in Ihrer Methode.ich glaube, entweder Sie können Strom führen, um gesendete Daten oder wenn Sie wollen, schickte ein Stück des HTML-von Ihrer action-Klasse senden Sie einfach zurück zu der Vorlage selbst.
  • Meine Antwort in diesem Programm ist ein string,gespeichert in errorXml>lokale variable. Wie gehen Sie zu meiner jsp? kann u bitte sagen, in die Tiefe über diese mit Beispiel-code?

InformationsquelleAutor shiva | 2012-01-20
Schreibe einen Kommentar