При использовании Fetch API для извлечения некоторого JSON из REST API на моем локальном сервере и попытки разобрать ответ с response.json()
, я получаю unexpected end of input
ошибка.Fetch API - с помощью response.json() выдает неожиданный конец ошибки ввода
Ошибка легко воспроизводимый на мой локальный сервере со следующим однострочником:
fetch(new Request('http://localhost:9950/RestService/v2/search/find/1', {mode: 'no-cors'})).then(function(response) { response.json(); });
// Output from Chrome console:
// Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
// VM424:1 Uncaught (in promise) SyntaxError: Unexpected end of input
// at SyntaxError (native)
// at <anonymous>:1:128
Если просмотреть вкладку Сети, я могу видеть, что мой запрос был выполнен на сервере, и если я просмотреть В ответ я вижу, что там доступен JSON (я дважды проверял это, копируя и вставляя JSON со вкладки Network Response на jsonlint.com). Вот пример ответа я получаю от сервера:
{
"SearchMatches": [{
"Extracts": ["<b>1<\/b>.txt...", "<b>1<\/b>"],
"Title": "1.txt",
"Url": "C:\\TestShare4\\500Docs\\1.txt"
}]
}
Если я пытаюсь использовать response.text()
вместо response.json()
я получаю пустую строку.
Любые мысли о том, где я могу ошибиться в этом?
Обратите внимание, что у меня есть требование не зависеть от каких-либо других фреймворков или библиотек, кроме того, что поддерживается браузером.
У меня аналогичная проблема, вы решить эту проблему? –
У меня была такая же проблема, и она была решена http://stackoverflow.com/a/35291777/3192470. – lakesare