0

JQuery POST で次の試みを行いました。

$(document).ready(function(){
            $("#id_go").click(function(){
                GOclick();
            });
        });

        function GOclick(){

            selected_table = $("#id_TableName option:selected").text();
            selected_column = $("#id_ColumnName option:selected").text();
            selected_SDT = $("#id_StartDateTime option:selected").text();
            selected_EDT = $("#id_EndDateTime option:selected").text();

            $.post('/historicaldata/input_parameters/', { selected_table: selected_table, selected_column: selected_column, selected_SDT: selected_SDT, selected_EDT: selected_EDT }, function(data){

            });
        }

そしてDjango View.py

if request.method == 'POST':
    pdb.set_trace()

    selectedTable = request.GET.get('selected_table')
    selectedColumn = request.GET.get('selected_column')
    startDT = request.GET.get('selected_SDT')
    endDT = request.GET.get('selected_EDT')

同じスクリプトから同じビューに移動する GET に相当するものが成功したので、なぜそうなのかわかりません。フォームに crsf_token があります。

4

2 に答える 2

1

django サーバーに投稿されたフォームを操作する場合、送信する「フォーム」または「フォーム データ」内に csrf_token があることを確認する必要があります。

フォーム csrf トークンを表示するには

{{csrf_token}}

これは次のようなものを作成します

<input type="hidden" name="csrfmiddlewaretoken" value="$csrf_token"/>

あなたが持っている他のデータと一緒にAJAX呼び出しでこれを渡し、jqueryを使用して、フォームの名前と入力の「名前」の名前に基づいて値を取得します。

お役に立てれば。

于 2014-07-28T19:05:39.403 に答える