Посмотрите на эту функцию первой, обратите внимание на файл JSon расположен локально:Запросить JSON для загрузки в объект Javascript. Различия в ответ
if (request) {
request.open("GET", "flicks.json", true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var testi = request.responseText;
var listmovies = JSON.parse(testi);
console.log(typeof testi); // THIS RETURNS STRING
console.log(typeof listmovies); // THIS RETURNS OBJECT - YAY!
}
};
request.send(null);
}
Это отлично, я получил то, что хотел, объект с данными JSON в нем.
Но когда я изменил местоположение файла JSON, и я поставил его на сервере:
Затем он возвращается с этой ошибкой:
SyntaxError: JSON.parse: unexpected end of data
Пример JSON
{
"feed": "....",
"description": "Fake List of Netflix movies",
"modified": "2010-10-25T15:04:46Z",
"generator": "I did it",
"items": [
{
"title": "...",
"link": "h...",
"media": {
"m": "..."
},
"date_taken": "..."
},
{
"title": "...",
"link": "...",
"media": {
"m": "..."
},
"date_taken": "..."
}
]
}
Почему это работает локально, но не наоборот?
Можем ли мы видеть json? –
Есть ли у вас какие-либо другие сообщения? Что говорит о запросе сетевой вкладки инструментов разработчика вашего браузера? Почему вы проверяете ReadyState, но не статус? – Quentin
Если я добавляю request.status == 200, то он ничего не возвращает, когда я делаю console.log (и т. Д.). Он просто говорит 200 OK на консоли, ничего больше. –