Bei der Verwendung von vue-resource in einer Vue-Anwendung tritt manchmal der Fehler „Uncaught TypeError: Cannot read property ‚body‘ of undefiniert“ auf. Dieses Problem wird normalerweise durch die POST- oder PUT-Anfrage dieser Methode verursacht wird dadurch verursacht, dass der Content-Type des Anforderungsheaders nicht richtig festgelegt wird. Wie lösen wir dieses Problem?
In vue-resource wird der Anforderungsheader durch Festlegen des Header-Attributs festgelegt. Wenn wir beispielsweise den Inhaltstyp auf application/json festlegen möchten, können wir der Anforderungskonfiguration den folgenden Code hinzufügen:
Vue.http.options.emulateJSON = true; Vue.http.options.headers = { 'Content-Type': 'application/json;charset=UTF-8' };
Unter anderem soll Vue .http.options.emulateJSON das Problem lösen, dass der Browser während der POST-Anfrage Optionsanfragen sendet, indem der Inhaltstyp des Anfrageheaders auf application/json gesetzt wird.
Wenn wir vue-resource zum Initiieren einer POST-Anfrage verwenden, müssen wir außerdem eine JSON.stringify-Operation für die Daten ausführen, um die Daten in einen JSON-String umzuwandeln, bevor sie vom Server korrekt analysiert werden können. Der Code lautet wie folgt:
var requestData = { name: 'test', age: 18 } Vue.http.post('/api/test', JSON.stringify(requestData)).then(function(response) { // 正常的请求返回结果 }).catch(function(response) { // 请求异常处理 });
Um es zusammenzufassen: Wenn der Fehler „Uncaught TypeError: Eigenschaft ‚Körper‘ von undefiniert kann nicht gelesen werden“ auftritt, wenn wir vue-resource in einer Vue-Anwendung verwenden, liegt das normalerweise am Content-Type von Der Request-Header ist nicht richtig gesetzt. Wir können dieses Problem lösen, indem wir die richtigen Einstellungen gemäß der oben genannten Methode vornehmen und die Daten als JSON-Strings verarbeiten.
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn „Uncaught TypeError: Eigenschaft ‚Körper' von undefiniert kann nicht gelesen werden' erscheint, wenn ich vue-resource in einer Vue-Anwendung verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!