2016-05-24 6 views
0

Ich habe eine REST-API erstellt, die in der Datenbank gespeicherte Daten im XML-Format zurückgibt.Kann ich die XML-Antwort vom Server mit jQuery und Ajax auf meinem localhost nicht verarbeiten?

Wenn ich den Code auf meinem localhost ausführen, ist die Antwort korrekt, aber wenn ich versuche, auf den gleichen Link mit Ajax und jQuery in der HTML-Seite zuzugreifen, kann ich keine Antwort oder Fehlermeldungen erhalten.

Was mache ich falsch?

<html> 
<head> 
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.2.min.js"></script> 

    <script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#search").click(function(){ 
      fetch(); 
     }); 
    }); 
    function fetch(){ 
     var c=$("#description").val(); 
     $.ajax({ 
      url:"http://localhost:8085/lostandfound/webapi/lost/"+c, 
      type:"GET", 
      datatype:"XML", 
      success:function(data){ 
       $("#result").children().remove(); 
       $(data).find("found").each(function(){ 
        var info="<tr><td>name"+$(this).find("name").text()+"</td> </tr>"; 
        $("#result").append(info); 
       }); 
      }, 
      error: function() { 
       $('#output').html('<p>An error has occurred</p>'); 
      } 
     }); 
    } 

    </script> 
</head> 
<body> 
    <div id="addResultDiv" style="color: red"></div> 
    <h2>search</h2> 
    <p id="demo"></p> 
    <form id="userForm"> 
     <table id="result"> 
      <tr> 
       <td>item:</td> 
       <td><input type="text" name="description" id="description" /> 
       </td> 
      </tr> 
      <tr> 
       <td><input type="submit" value="search" id="search" /></td> 
       <td><input type="submit" value="clear" id="clear"/></td> 
      </tr> 
     </table> 
    </form> 
    <div id="output">Search Result will Appear here!</div> 
</body> 
</html> 
+0

Stellen Sie sicher richtig, dass die letzten 'div' Tag zu geben. Es sollte kein Leerzeichen hinter '<' stehen. – trincot

+0

Können Sie die XML-Daten beim Debuggen im Seiteninspektor des Browsers sehen? – Pushpendra

+0

Ja, wenn ich auf den Link zugreife, wie im Restful Webservice in Java geschrieben, kann ich mithilfe von Tomcat XML-Daten anzeigen – ksk

Antwort

0

Wenn auf die Schaltfläche zum Senden geklickt wird, wird JavaScript ausgeführt.

Das JavaScript startet eine Ajax-Anfrage.

Sobald das JavaScript fertig ist, macht der Submit-Button, was Submit-Buttons tun. Es reicht das Formular ein. Der Browser lädt eine neue Seite. Die Umgebung, in der die Ajax-Anforderung in ausgeführt wurde, verschwindet.

Wenn Sie wollen, dass Ajax funktioniert, dann stoppen Sie das normale Verhalten der Schaltfläche "Senden".

$("#search").click(function(event){ 
    event.preventDefault(); 
    fetch(); 
}); 
0

Ändern Sie den Eingangstyp von 'Senden' zu 'Schaltfläche'. Dies führt nicht zum erneuten Laden der Seite.

<input type="button" value="search" id="search" />

Verwandte Themen