Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Django中使用xhttp获取额外的HTML数据_Javascript_Django - Fatal编程技术网

Javascript 在Django中使用xhttp获取额外的HTML数据

Javascript 在Django中使用xhttp获取额外的HTML数据,javascript,django,Javascript,Django,我现在正在使用基于ModelForm类的Django表单,该类在我的页面上使用一些JavaScript来使用POST接收表单数据 class MyForm(ModelForm): data_url = '/form-data/' dep_fields = '__all__' class Meta: model = Sign fields = '__all__' exclude = ['name', ] class

我现在正在使用基于ModelForm类的Django表单,该类在我的页面上使用一些JavaScript来使用POST接收表单数据

class MyForm(ModelForm):
    data_url = '/form-data/'
    dep_fields = '__all__'

    class Meta:
        model = Sign
        fields = '__all__'
        exclude = ['name', ]

    class Media:
        js = ('js/form.js',)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        attrs_dict = {'onchange': 'addForm(this)', 'style': 'display:', 'data-url': f'{self.data_url}'}
        if self.data:
           '''form fields logic'''
我的Javascript执行以下操作。它存储我的表单数据,如下所示:

var data = new FormData(obj.form);
var data = new FormData(obj.form);
var field_id = parseInt(obj.id ); 
data.append('field_id', field_id);
xhttp.send(data);
然后在每次更改任何表单字段时发送到我的服务器:

xhttp.send(data);
表单数据如下所示,存储在表单self.data中:

self.data = {'csrfmiddlewaretoken': ['cpWuNU1JfK'], 'country': ['2'], 'region': [''], 'area': [''], 'color': [''], 'sign': ['']}
(为了方便,我减少了代币)

所以我只需要从我的HTML页面中获取所选字段的ID(本例中为国家ID)。 我在我的JS中添加了以下代码:

var field_id = parseInt(obj.id );
xhttp.send(field_id);
它似乎在工作,但我不明白在Django服务器上从何处或如何获取这些数据(字段id)

UPD: 当我这样做的时候:

var data = new FormData(obj.form);
var data = new FormData(obj.form);
var field_id = parseInt(obj.id ); 
data.append('field_id', field_id);
xhttp.send(data);
id
值附加到我的帖子表单中。数据如下:

var data = new FormData(obj.form);
var data = new FormData(obj.form);
var field_id = parseInt(obj.id ); 
data.append('field_id', field_id);
xhttp.send(data);

self.request.POST
你试过
request.POST.get('country')
?我的帖子现在看起来像这样
self.request.POST
你说的“字段id”是什么意思?您是否正在尝试确定发送到服务器的字段?是!我的表单有字段,每个字段都有自己的id:您必须用JS明确地发送字段的
id
属性值。
id
仅在浏览器中使用。或者您可以将
id
设置为与
name
属性相同。您是否尝试过
request.POST.get('country')
?我的帖子现在看起来像
self.request.POST
您所说的“field\u id”是什么意思?您是否正在尝试确定发送到服务器的字段?是!我的表单有字段,每个字段都有自己的id:您必须用JS明确地发送字段的
id
属性值。
id
仅在浏览器中使用。或者您可以将
id
设置为与
name
属性相同。