Неожиданный токен I в JSON в позиции 0 - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь отправить запрос на выборку с BASE64-кодированными BLOB-данными.

При проверке JSON через разные сервисы он оказывается действительным JSON.

export function sendRecording1(blob){
let base64data; 
var reader = new FileReader();
reader.readAsDataURL(blob); 
reader.onloadend = function() {
  base64data = reader.result;                
  //base64data = base64data.substring(22);

  base64data = base64data.toString();

  let body = JSON.stringify({text: base64data, id: "blob"});
  //console.log(body);
    return fetch(url, {
    method: "POST", // or 'PUT'
    async: true,
    //body: JSON.stringify({ text: base64data, id: "blob" }), 
    body: body,
    headers: {
      "Access-Control-Allow-Origin": "*",
      "Content-Type": "application/json"
    }
  }).then(res => res.json())

Но похоже, что fetch () не нравится это тело Base 64 и выдает мне сообщение Error: Error:SyntaxError: Неожиданный токен I в JSON в позиции 0

Похоже, это также происходит, когда тело достигает 100.000 байт.Что странно, так как работало, когда у меня были другие большие файлы.

Данные Base64 создаются из файла .WAV для записи голоса.

1 Ответ

0 голосов
/ 15 октября 2018

Я столкнулся с этой проблемой несколько недель назад, не зная точно, что я сделал.попробуй это и отладь это поможет.

 // .then(res => res.json()) // comment this out for now
  .then(res => res.text())          // convert to plain text
  .then(text => console.log(text))  // then log it out

https://daveceddia.com/unexpected-token-in-json-at-position-0/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...