ホームページ >ウェブフロントエンド >Vue.js >Vue アプリケーションで vue-resource を使用するときに「Uncaught TypeError: Cannot read property 'body' of unknown」が表示された場合はどうすればよいですか?
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 サイトの他の関連記事を参照してください。