저는 React 프론트 엔드와 Django 백엔드가있는 애플리케이션을 작업 중입니다.
프런트 엔드 요청이 백엔드에 도달 (및 db 업데이트)되지만 응답이 프런트 엔드로 반환되지 않습니다. 저는 Django와 React를 처음 사용하여 디버깅 할 수 없었습니다.
React Frontend
var csrftoken = Cookies.get('csrftoken')
let headers = {
"X-CSRFToken": csrftoken,
"Content-Type": "application/x-www-form-urlencoded"
};
const qs = require('qs');
axios.post('/api/thing/new/', qs.stringify({thing_text: thing.thing_text}), {'headers': headers})
.then((result) => {
console.log(results)
});
장고 백엔드
class ThingForm(ModelForm):
class Meta:
model = Thing
fields = ['thing_text']
def thing_create(request):
form = ThingForm(request.POST or None)
if form.is_valid():
form.save()
return JsonResponse({'foo':'bar'})
나는 또한 return HttpResponse(status=204)
아무 소용이없는 응답을 반환하려고 시도했습니다 .
이로 인해 오류가 발생합니다.
Uncaught (in promise) ReferenceError: results is not defined
나는 프론트 엔드에 아무것도 반환되지 않는 것으로 해석합니다 (내가 틀릴 수 있지만). 다시 말하지만, 레코드가 db에 생성되기 때문에 백엔드가 요청을 받고 있음을 알고 있습니다.
이것을 디버그하려고 시도해야 할 것이 있습니까?
React를 잘못된 방식으로 사용하고 있습니다. Promise는 나중에 결과를 반환하도록 설계되었습니다. 약속이 해결되거나 거부 될 때까지. 약속을 해결하십시오.
axios.post('/api/thing/new/', qs.stringify({thing_text: thing.thing_text}), {'headers': headers})
.then(res=>(
console.log(res.data)
))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다