2016-06-15 3 views
0

Ich habe einen button, in dem ich eine AJAX-Funktion aufrufen:Wie kann ich wissen, welche URL bei der AJAX-Funktion angefordert wird?

<button class="loadProduct" onclick="loadProduct(7)" type="button">Load product</button> 

und dies ist meine AJAX-Funktion:

var loadProduct = function (idProduct) { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
     if (xhttp.readyState == 4 && xhttp.status == 200) { 
      var product = JSON.parse(xhttp.responseText); 

      alert(product); 

     } 
     xhttp.open("GET", "http://localhost/product/loadProduct/" + idProduct, true); 
     xhttp.send(); 
    }; 
}; 

in denen sollte er eine Anfrage an den Server senden und das Produkt erhalten, aber Die Warnung wird nicht angezeigt.

Ich dachte, es etwas im Zusammenhang mit der Daten Antwort war, aber wenn ich direkt auf den Link

gehen
http://localhost/product/loadProduct/7 

ich die folgende Antwort erhalten:

{"idProduct":"7","name":"product7"} 

so vermute ich, dass die AJAX-Funktion ruft diesen Link nicht an, weil die Antwort korrekt gesendet wird (wenn Sie direkt darauf zugreifen).

  • Wie kann ich wissen, ob die AJAX-Funktion den richtigen Link aufruft?
  • Oder ist es ein Fehler bei der AJAX-Funktion?

Vielen Dank im Voraus!

Antwort

2

Sie benötigen eine aktuelle Anruf außerhalb der onreadystatechange Funktion bewegen:

var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
    var product = JSON.parse(xhttp.responseText); 
    } 
}; 
xhttp.open('GET', 'http://localhost/product/loadProduct/' + 1, true); 
xhttp.send(); 
+0

Du bist der Beste! Vielen Dank! Was für ein Fehler! –

2

einfach die Konsole öffnen und überprüfen Sie die Anfrage ...

+0

Es ist kein Anruf AJAX gezeigt wird oder vielleicht bin ich an der falschen Stelle suchen. Ich verwende Google Chrome und gehe zur Registerkarte "Netzwerk". –

+0

Die meisten Browser haben eine Entwicklerkonsole, mit der Sie diese Objekte sehen können. Hier ist Mozilla Firefox: [link] (https://developer.mozilla.org/en-US/docs/Tools/Web_Console) –

Verwandte Themen