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 回答
1

乍一看,您正试图从错误的 QueryDict 中获取参数,它应该是:

request.POST.get(...)
于 2014-07-28T17:21:19.963 回答