Apabila menggunakan vue-resource dalam aplikasi Vue, ralat "Uncaught TypeError: Cannot read property 'body' of undefined" kadangkala berlaku Masalah ini disebabkan oleh permintaan POST atau PUT daripada vue-resource disebabkan oleh tidak menetapkan Jenis Kandungan pengepala permintaan dengan betul. Jadi, bagaimana kita menyelesaikan masalah ini?
Dalam vue-resource, ia menetapkan pengepala permintaan dengan menetapkan atribut pengepala Contohnya, jika kita ingin menetapkan Jenis Kandungan kepada aplikasi/json, maka kita boleh menambah kod berikut pada konfigurasi permintaan:
Vue.http.options.emulateJSON = true; Vue.http.options.headers = { 'Content-Type': 'application/json;charset=UTF-8' };
. Antaranya, Vue .http.options.emulateJSON adalah untuk menyelesaikan masalah yang penyemak imbas akan menghantar permintaan pilihan semasa permintaan POST Vue.http.options.headers adalah untuk menetapkan Jenis Kandungan pengepala permintaan kepada aplikasi/json.
Selain itu, apabila menggunakan vue-resource untuk memulakan permintaan POST, kami perlu melakukan operasi JSON.stringify pada data untuk menukar data kepada rentetan JSON sebelum ia boleh dihuraikan dengan betul oleh pelayan. Kod tersebut adalah seperti berikut:
var requestData = { name: 'test', age: 18 } Vue.http.post('/api/test', JSON.stringify(requestData)).then(function(response) { // 正常的请求返回结果 }).catch(function(response) { // 请求异常处理 });
Ringkasnya, jika ralat "Uncaught TypeError: Cannot read property 'body' of undefined" berlaku apabila kami menggunakan vue-resource dalam aplikasi Vue, ia biasanya kerana Content-Type of pengepala permintaan tidak ditetapkan dengan betul Kami boleh menyelesaikan masalah ini dengan membuat tetapan yang betul mengikut kaedah di atas dan memproses data sebagai rentetan JSON.
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika 'Uncaught TypeError: Cannot read property 'body' of undefined' muncul apabila menggunakan vue-resource dalam aplikasi Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!