>  기사  >  웹 프론트엔드  >  Vue 애플리케이션에서 vue-resource를 사용할 때 'Uncaught TypeError: 정의되지 않은 'body' 속성을 읽을 수 없습니다.'가 나타나면 어떻게 해야 합니까?

Vue 애플리케이션에서 vue-resource를 사용할 때 'Uncaught TypeError: 정의되지 않은 'body' 속성을 읽을 수 없습니다.'가 나타나면 어떻게 해야 합니까?

王林
王林원래의
2023-08-20 14:19:451541검색

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

Vue 애플리케이션에서 vue-resource를 사용할 때 "Uncaught TypeError: Cannot read property 'body' of undefed"라는 오류가 발생하는 경우가 있습니다. 이 문제는 일반적으로 vue-resource의 POST 또는 PUT 요청으로 인해 발생합니다. 요청 헤더의 Content-Type을 올바르게 설정하지 않았기 때문에 발생합니다. 그렇다면 이 문제를 어떻게 해결합니까?

vue-resource에서는 헤더 속성을 설정하여 요청 헤더를 설정합니다. 예를 들어 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 unjust" 오류가 발생하는 경우 일반적으로 Content-Type이 다음과 같기 때문입니다. 요청 헤더가 올바르게 설정되지 않았습니다. 위 방법에 따라 올바르게 설정하고 데이터를 JSON 문자열로 처리하면 이 문제를 해결할 수 있습니다.

위 내용은 Vue 애플리케이션에서 vue-resource를 사용할 때 'Uncaught TypeError: 정의되지 않은 'body' 속성을 읽을 수 없습니다.'가 나타나면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.