如何从Vuejs读取stream + json响应?

时间:2018-10-14 13:01:49

标签: json rest vue.js axios

我在vuejs应用程序和以下代码中使用axios http客户端:

axios.get('http://localhost:8081/pets')
    .then(response => {
      this.pets = response.data;
    })

如果服务器返回简单的“ application / json”内容,则一切正常。 但我想分别为每一行阅读“ application / stream + json”。

例如:

axios.get('http://localhost:8081/pets')
    .then(response => {
      this.pets.push(response.data)
    })

但是此代码(按预期)不起作用。

2 个答案:

答案 0 :(得分:2)

我用SSE解决了这个问题:

let es = new EventSource('http://localhost:8081/pets');
es.addEventListener('message', event => {
    let data = JSON.parse(event.data);
    this.pets.push(data);
}, false);

答案 1 :(得分:0)

我不确定我是否正确理解了你的意思!但我提供了数据并将其单独使用。

axios.get('http://localhost:8081/pets')
    .then(response => {
      for(var key in response.data) {
         this.pets.push(response.data[key]);  //row by row
      }
    })