Mirage Passthrough возвращает объект ответа вместо JSON данных, возвращаемых сетевым вызовом - PullRequest
0 голосов
/ 03 августа 2020

Я получаю сообщение об ошибке:

Mirage: Your Ember app tried to GET 'http://localhost:3006/data.json', 
but there was no route defined to handle this request. 
Define a route that matches this path in your mirage/config.js file. 
Did you forget to add your namespace?

Итак, следуя документации mirage, я добавил это:

this.passthrough('http://localhost:3006/data.json');

Несмотря на то, что после добавления сквозной передачи я получаю такой ответ вместо JSON Объект, возвращенный вызовом сетевого API.

Фактический запрос, который я делаю:

fetch(`${host}/data.json`)
  .then(res => res.json())
  .then(data => {
   // my operation on data
});

Я получаю следующий ответ:

{bodyUsed: true
headers: Headers {map: {…}}
ok: true
status: 200
statusText: "OK"
type: "default"
url: "http://localhost:3006/data.json"
_bodyInit: null
_bodyText: ""}

Но я ожидаю:

 { 
   "files": 
         { 
              "x": "any", 
              "a": "any", 
              "b": "any", 
              "c": "any" 
         } 
 }

Я сохранил отладчик в Pretender. js, который отправляет FakeRequest, и в своем объекте я вижу, что FakeRequest имеет responseType = "" и ответ как null. И каким-то образом мой responseText имеет значение, но оно не учитывается, и значение ответа считается и получает ноль.

Также есть logi c, который возвращает

"response" in xhr ? xhr.response : xhr.responseText

В этом случае У меня есть свойство ответа, но его значение равно нулю. Следовательно, в соответствии с вышеуказанным условием, он возвращает xhr.response, который имеет значение null

Заранее спасибо.

...