wkololo_4ever
@wkololo_4ever

Почему отображается ошибка Unexpected end of input?

Есть код
var request = new XMLHttpRequest();
    request.open("GET", "/Home/Test", true);   
    request.onprogress = function () {
        var pol = request.responseText;
        var k = JSON.parse(pol);
    }
    request.send(null);

Chrome выдает ошибку "Unexpected end of input". Не могу понять с чем она связанна. Если удалить строку var k = JSON.parse(pol);
то ошибка пропадает. Что я пишу не так?
зы: когда-то встречался с данной ошибкой, когда забыл поставить "}", но сейчас вроде все стоит на своих местах.
UPD: В IE все работает. С чем все это связанно?
UPD2: код контроллера
public JsonResult Test()
        {
            return Json(new { name = "Вова", secondName = "Иванов" },JsonRequestBehavior.AllowGet);
        }


UPD3: Решил проблему, забыл добавить проверку request.readyState === 4
IE и Chrome по разному обрабатывают событие onprogress.
  • Вопрос задан
  • 14550 просмотров
Пригласить эксперта
Ответы на вопрос 1
crazyzubr
@crazyzubr
Python backend-developer
Включу модуль телепатии и предположу, что скрипт, который выдает ответ - это php скрипт. В таком случае он возможно сохранен с кодировкой utf8 c BOM, либо вывод содержит лишние символы переноса строк.

Решением является пересохранение файла в utf8 без BOM или исключить попадание переносов строк соответственно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы