2017-12-30 48 views
2

AJAX를 사용하여 프론트 엔드에서 내 백엔드로 일부 데이터를 전달하려고합니다. 내 장고보기에서 게시물 요청보기입니다 :AJAX Post 요청에서 Django에 값을 보내지 않습니다.

이것은 자바 스크립트에있는 기능입니다. console.log(teacher_id)이 올바른 값을 인쇄하기 때문에 올바른 값이 전달되고 있음을 알고 있습니다.

function send(teacher_id){ 
    console.log(teacher_id) 
    var url = window.location.pathname; 
     $.ajax({ 
     method: "POST", 
     url: url, 
     data: { 
      'teacherID': teacher_id, 
      }, 
     dataType: 'json', 
     success: function (data) { 
      //location.href = data.url;//<--Redirect on success 
     } 
     }); 
} 

코드가 실행되고, 내보기에서 인쇄 문에 관계없이 teacher_id이 무엇인지, None가 인쇄의 실행됩니다.

코드에 어떤 문제가 있습니까?

+0

Ajax 요청에 contentType을 추가 할 수 있습니까? contentType : "application/json; charset = utf-8",', 한 번 시도하십시오. – Ejaz

+1

'''method : "POST"'''를 사용하여 요청을 보내는 동안''GET.get()'''을 사용하여 데이터를 검색하고 있습니다. 장고에 대한 나의 지식은 존재하지 않지만 언어가 일치하지 않는 것이 현명하므로 거기에 대해 생각했다. 그게 문제인 지 알려면 대답을 게시 할 수 있습니다. – yarwest

+1

@yarwest 당신이 옳았습니다. 도움을 주셔서 감사합니다! 답변 게시 및 불신 – wtreston

답변

2

Django보기에서 AJAX 요청이 method: "POST"을 사용하여 전송하는 동안 데이터는 GET.get()을 사용하여 검색됩니다.

은 데이터가 존재가 ( GET에 AJAX 호출에 method을 변경하여)를 전송하는 방식을 변경하거나 관련 POST 방법을 사용하여 읽어야 하나되도록 POST 데이터 GET 데이터와 동일한 방법으로 취득 할 수없는

.

사용할 방법이 의심스러운 경우 this Stack Overflow question을 방문 할 수 있습니다.