2017-12-30 27 views
2

AJAXを使用してフロントエンドからバックエンドにデータを渡そうとしています。これは私のdjangoビューの投稿要求ビューです:AJAXポストリクエストがDjangoビューに値を送信しない

これは私がJavaScriptで持っている機能です。 console.log(teacher_id)が適切な値を出力するため、正しい値が渡されていることがわかります。コードが実行され、私の見解ではprint文が実行されると

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()' ''を使ってデータを取得しています。私のDjangoに関する知識は存在しませんが、言語的にはそこに不一致があることを賢明に思います。それが問題なのかどうか教えてください。私は答えを投稿できます。 – yarwest

+1

@yarwestあなたは正しかった、助けてくれてありがとう!答えを掲示し、それを受け入れる – wtreston

答えて

2

Djangoビューでは、AJAXリクエストがmethod: "POST"を使用して送信している間に、GET.get()を使用してデータが取得されています。あなたは、データが(GETにAJAX呼び出しでmethodを変更することで)を送信または関連POSTメソッドを使用してそれを読まれている方法を変更する必要がありますいずれかのよう

POSTデータはGETデータと同じ方法で取得することはできません。

どの方法を使用するか疑問がある場合は、this Stack Overflow questionにアクセスしてください。

関連する問題