ホームページ > ウェブフロントエンド > Vue.js > Vue アプリケーションで vue-resource を使用するときに「Uncaught TypeError: Cannot read property 'body' of unknown」が表示された場合はどうすればよいですか?

Vue アプリケーションで vue-resource を使用するときに「Uncaught TypeError: Cannot read property 'body' of unknown」が表示された場合はどうすればよいですか?

王林
リリース: 2023-08-20 14:19:45
オリジナル
1577 人が閲覧しました

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

Vue アプリケーションで vue-resource を使用すると、「Uncaught TypeError: Cannot read property 'body' of unknown」というエラーが発生することがあります。この問題は、通常、 vue-resource の POST または PUT リクエスト メソッドでリクエスト ヘッダーの Content-Type が正しく設定されていないことが原因です。では、この問題をどのように解決すればよいでしょうか?

vue-resource では、header 属性を設定することでリクエスト ヘッダーを設定します。たとえば、Content-Type を application/json に設定したい場合は、次のコードをリクエスト設定に追加します。 :

Vue.http.options.emulateJSON = true;
Vue.http.options.headers = {
    'Content-Type': 'application/json;charset=UTF-8'
};
ログイン後にコピー

このうち、Vue.http.options.emulateJSON はブラウザが POST リクエスト中にオプションリクエストを送信してしまう問題を解決するもので、Vue.http.options.headers は Content-Type を設定するものです。リクエストヘッダーを application/json に追加します。

さらに、vue-resource を使用して POST リクエストを開始する場合、データがサーバーによって正しく解析される前に、データに対して JSON.stringify 操作を実行してデータを JSON 文字列に変換する必要があります。コードは次のとおりです。

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

要約すると、Vue アプリケーションで vue-resource を使用するときに「Uncaught TypeError: Cannot read property 'body' of unknown」エラーが発生する場合、通常はリクエストContent-Type ヘッダーが正しく設定されていない場合は、上記の方法に従って正しく設定し、データに対して JSON 文字列処理を実行することでこの問題を解決できます。

以上がVue アプリケーションで vue-resource を使用するときに「Uncaught TypeError: Cannot read property 'body' of unknown」が表示された場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート