Maison  >  Article  >  interface Web  >  Que dois-je faire si « Uncaught TypeError : Impossible de lire la propriété 'body' of undefined' apparaît lors de l'utilisation de vue-resource dans une application Vue ?

Que dois-je faire si « Uncaught TypeError : Impossible de lire la propriété 'body' of undefined' apparaît lors de l'utilisation de vue-resource dans une application Vue ?

王林
王林original
2023-08-20 14:19:451548parcourir

在Vue应用中使用vue-resource时出现“Uncaught TypeError: Cannot read property 'body' of undefined”怎么办?

Lors de l'utilisation de vue-resource dans une application Vue, l'erreur "Uncaught TypeError: Cannot read property 'body' of undefined" se produit parfois. Ce problème est généralement causé par la requête POST ou PUT de cette méthode. est dû à une définition incorrecte du Content-Type de l'en-tête de la requête. Alors, comment résoudre ce problème ?

Dans vue-resource, il définit l'en-tête de la requête en définissant l'attribut header. Par exemple, si nous voulons définir le Content-Type sur application/json, alors nous pouvons ajouter le code suivant à la configuration de la requête :

Vue.http.options.emulateJSON = true;
Vue.http.options.headers = {
    'Content-Type': 'application/json;charset=UTF-8'
};

. Parmi eux, Vue .http.options.emulateJSON vise à résoudre le problème selon lequel le navigateur enverra une demande d'options lors de la requête POST. Vue.http.options.headers consiste à définir le type de contenu de l'en-tête de la demande sur application/json.

De plus, lorsque nous utilisons vue-resource pour lancer une requête POST, nous devons effectuer une opération JSON.stringify sur les données pour convertir les données en chaîne JSON avant qu'elles puissent être correctement analysées par le serveur. Le code est le suivant :

var requestData = {
    name: 'test',
    age: 18
}
Vue.http.post('/api/test', JSON.stringify(requestData)).then(function(response) {
    // 正常的请求返回结果
}).catch(function(response) {
    // 请求异常处理
});

Pour résumer, si l'erreur "Uncaught TypeError: Cannot read property 'body' of undefined" se produit lorsque nous utilisons vue-resource dans une application Vue, c'est généralement parce que le Content-Type de l'en-tête de la requête n'est pas défini correctement. Nous pouvons résoudre ce problème en effectuant les paramètres corrects selon la méthode ci-dessus et en traitant les données sous forme de chaînes JSON.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn