Ich verwende Ajax, um Informationen an einen Server zu senden und eine JSON-Zeichenfolge zurückzugeben. Dies ist der Code ich verwende:Ajax-Aufruf fehlgeschlagen
function getRequests(folder, mode) {
xhr = new XMLHttpRequest();
xhr.onreadystatechange = singleBook(folder, mode);
xhr.open("GET", "bestreads.php?mode=" + mode + "&title=" + folder, true);
xhr.send(null);
}
function singleBook(folder, mode) {
alert(xhr.responseText);
if (mode == "info") {
var json = JSON.parse(xhr.responseText);
}
}
Ich habe meinen PHP-Skript getestet und ich bin 100% sicher, dass es richtig den richtigen JSON-String für jeden möglichen Ordnernamen druckt. Ich habe die JSON-Zeichenfolge validiert, die erstellt wird, um dies zu bestätigen. Dieser Code lässt jedoch xhr vollständig leer. Ich habe versucht, den Status mit xhr.stats zu überprüfen, aber es gibt 0 zurück, was für mich keinen Sinn ergibt, da ich 404 oder 200 zurückgeben sollte.
Dies ist ein Schulprojekt, und ich darf nicht benutze JQuery, also brauche ich eine Lösung, die es nicht benutzt. Ich mache einen Ajax-Aufruf früher in meinem Aufruf auf die gleiche Weise und es funktioniert ohne irgendwelche Probleme, aber gibt eine XML-Zeichenfolge anstelle von JSON zurück, was mich denken lässt, dass ich etwas anderes tun muss, um die JSON-Zeichenfolge zurückzugeben, aber ich habe keine Ahnung, was das ist könnte sein.
PHP-Code:
function createJson($folder) {
$path = "books/" . $folder . "/info.txt";
$infoFile = file($path);
$info = '{"title":"' . $infoFile[0] . '","author":"' . $infoFile[1] . '","stars":"' . $infoFile[2] . '"}';
print $info;
}
zeigen Sie Ihren 'bestreads.php' Code. – Naga