Django,访问JQuery AJAX发送的html表单字段值

Django,访问JQuery AJAX发送的html表单字段值,jquery,ajax,django,django-views,Jquery,Ajax,Django,Django Views,表格: jquery代码段: class TransactionForm(forms.ModelForm): CHOICES = ((1, 'Buy'), (2, 'Sell'),) coin = forms.ModelChoiceField(queryset = Coin.objects.all()) buysell = forms.ChoiceField(choices = CHOICES) field_order = ['buysell',

表格:

jquery代码段:

class TransactionForm(forms.ModelForm):     
    CHOICES = ((1, 'Buy'), (2, 'Sell'),)

    coin = forms.ModelChoiceField(queryset = Coin.objects.all()) 
    buysell = forms.ChoiceField(choices = CHOICES)

    field_order = ['buysell', 'coin', 'amount', 'trade_price']

    class Meta:
        model = Transaction
        fields = {'buysell', 'coin', 'amount', 'trade_price'}

    def __init__(self, coin_price = None, user = None, *args, **kwargs):
        super(TransactionForm, self).__init__(*args, **kwargs)
        print("Transaction form init: ", user, coin_price)

        if user:
            self.user = user
            qs_coin = Portfolio.objects.filter(user = self.user).values('coin').distinct()
            print("qs_coin test: {}".format(qs_coin))
            self.fields['coin'].queryset = qs_coin

        if coin_price:
            print("coin price test")
            self.coin_price = coin_price
            self.fields['price'] = self.coin_price
视图片段

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

            console.log("buysell");
            console.log($('#id_buysell').val());

            var $formData = $(this).attr("id_buysell");
            console.log($formData.val());

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

        });

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

        console.log("coin change")

        var $formData = $(this).attr("id_coin");
        console.log($formData.val());

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

    });
在jquery函数中,我声明

var$formData=$this.attrid\u coin

然后使用GET将其传递给视图。但是,我不确定如何在我的视图中实际获取这些数据

那么我如何访问这个值呢?如果我想打印它以查看此值,我可以执行类似操作吗

printrequest.GET['coin']


您不能通过ajax以这种方式发送数据,您需要按照以下方式发送数据 {键:'value',键2:'value2'}

在你看来:

var coin = $(this).attr("id_coin");

$.ajax({
    method: "GET",
    url: "/myportfolio/add_transaction",
    data: {
        id_coin:coin // retrrieve the value in python with the key
    },
});
var coin = $(this).attr("id_coin");

$.ajax({
    method: "GET",
    url: "/myportfolio/add_transaction",
    data: {
        id_coin:coin // retrrieve the value in python with the key
    },
});
print(request.GET.get('coin'))
>>> # The value of coin from JS ajax