Więc piszę ten kod Vue.JS, aby wyświetlić dane pozyskane przez PHP z serwera. PHP zwraca obiekt JSON do Vue, a VUE musi go wyświetlić. Mój obecny kod to:

  axiosPost();
}
function axiosPost()
{
 axios.post(
  './ConversationGetter.php',
  {
    function2call: 'getRecord',
    id: 1,
    access: this.accesstoken
  }

)
.then(response =>  {this.data=response.data;
console.log(response.data);
console.log("Response From VUE JS"+this.data);

})
.catch(error => {});
}

Problem polega na tym, że najpierw console.log drukuje dane odpowiedzi poprawnie. Ale drugi console.log wyświetla to:

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Jeśli używam JSON.parse podczas wyświetlania danych, pokazuje to:

undefined
3
Clutch Prince 20 grudzień 2019, 08:21
Czy możesz opublikować treść response.data?
 – 
Prabhjot Singh Kainth
20 grudzień 2019, 08:24
Tak. Daj mi Sekundę.
 – 
Clutch Prince
20 grudzień 2019, 08:24
Ponieważ console.log('some string' + [someObject, someObject, etc]) zmusza tablicę obiektów w this.data do tablicy łańcuchów, a obiekty jako łańcuchy stają się 'object Object' - tj. zignoruj ​​drugi console.log, jest to całkowicie zgodne z oczekiwaniami, dane są poprawne - użyj console.log('some string', [someObject, someObject, etc]) ... zauważ , zamiast + ... a twój plik console.log będzie taki, jakiego oczekiwałeś w pierwszej kolejności
 – 
Jaromanda X
20 grudzień 2019, 08:25
- treść jest kompletnie nieistotna
 – 
Jaromanda X
20 grudzień 2019, 08:27
Czy możesz użyć JSON.stringify()
 – 
Oswald
20 grudzień 2019, 09:11

2 odpowiedzi

Nie potrzebujesz JSON.parse .. Po prostu użyj response.data bezpośrednio. Jeśli chcesz zobaczyć rzeczywiste wykorzystanie danych console.log(JSON.stringify(response.data))

0
Mohamed Farouk 20 grudzień 2019, 08:26
JSON.stringify nadal zwraca [Object object]
 – 
Clutch Prince
20 grudzień 2019, 08:30
Jeśli jest to odpowiedź webapi, możesz wyświetlić strukturę na karcie Sieć w przeglądarce, aby sprawdzić strukturę odpowiedzi lub po prostu console.log(response.data)
 – 
Mohamed Farouk
20 grudzień 2019, 08:33

Operator „+” konwertujący jako łańcuch w drugiej instrukcji konsoli. Zmień to na „”, jak poniżej?

console.log("Response From VUE JS", this.data);
3
Siva K V 20 grudzień 2019, 08:36