【问题标题】:Django: how to access JsonResponse dictionary in jquery?Django:如何在 jquery 中访问 JsonResponse 字典?
【发布时间】:2018-11-03 17:08:08
【问题描述】:

jQuery

$('#id_buysell').on('change', function(){

            console.log("buysell");

            var $id_buysell = $('#id_buysell').val();
            console.log($id_buysell);

            $.ajax({
                method: "GET",
                url: "/myportfolio/add_transaction",
                data: { buysell: $id_buysell }
            });

        });

观看次数

def add_transaction(request):

    if request.method == "GET":
        if request.is_ajax():
            print("ajax test")

            #print(request.GET.get)
            print(request.GET.get('coin'))
            print(request.GET.get('buysell'))


            data = {
                'view_buysell': request.GET.get('buysell'),
                'view_coin': request.GET.get('coin')
            }

            form = TransactionForm(user = request.user, coin_price = GetCoin("Bitcoin").price)

            return JsonResponse(data)

如何访问从视图中的 JsonResponse(data) 发送到我的 jquery 文件的字典?总的来说,我对 jquery 和前端开发的了解有限。我知道这将通过 JSON 编码的响应发送,但在搜索时无法找到正确的答案。

【问题讨论】:

    标签: jquery json django


    【解决方案1】:

    您使用$.ajax(..) 执行 AJAX 请求,但您从未指定在请求成功时要做什么,以及您应该如何处理数据。

    您传递给$.ajax(..) 调用的对象可以包含一个success 键,该键应该包含一个通过响应调用的函数:

    $.ajax({
        method: "GET",
        url: "/myportfolio/add_transaction",
        dataType: 'json',
        success: function(data, status) {
            // do something with data and status
        },
        data: { buysell: $id_buysell }
    });

    data 因此包含包装在响应中的数据,status 包含响应的状态码。

    您也可以添加error 键:在响应返回错误时调用的函数:

    $.ajax({
        method: "GET",
        url: "/myportfolio/add_transaction",
        dataType: 'json',
        success: function(data, status) {
            // do something with data and status
        },
        error: function(response) {
            // do something in case the request returns an error
            // for example alert the user that the buy/sell transaction failed
            // (by checking response.status, response.responseText, etc.)
        },
        data: { buysell: $id_buysell }
    });

    【讨论】:

      猜你喜欢
      • 2011-07-11
      • 1970-01-01
      • 2012-10-03
      • 2021-10-17
      • 2021-10-17
      • 1970-01-01
      • 2014-02-08
      相关资源
      最近更新 更多