Я использую Ajax для отправки информации на сервер и возврата строки JSON. Это код, я использую:Ajax call failing
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);
}
}
Я проверил мой PHP скрипт, и я 100% уверен, что он правильно печатает правильную строку JSON для каждого возможного имени папки. Я подтвердил строку JSON, которую он создает, чтобы подтвердить это. Однако этот код оставляет xhr полностью пустым. Я попытался проверить статус с помощью xhr.stats, но он возвращает 0, что не имеет смысла для меня, поскольку я думал, что он должен возвращать 404 или 200.
Это школьный проект, и мне не разрешено используйте JQuery, поэтому мне нужно решение, которое не использует его. Я делаю вызов Ajax ранее в своем вызове одинаково, и он работает без каких-либо проблем, но возвращает строку XML вместо JSON, что заставляет меня думать, что мне нужно сделать что-то еще, чтобы вернуть строку JSON, но я не знаю, что это может быть.
PHP код:
function createJson($folder) {
$path = "books/" . $folder . "/info.txt";
$infoFile = file($path);
$info = '{"title":"' . $infoFile[0] . '","author":"' . $infoFile[1] . '","stars":"' . $infoFile[2] . '"}';
print $info;
}
показать свой 'bestreads.php' код. – Naga