通过ajax提交Django表单

2024-04-26 13:50:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Ajax还很陌生。我试图抓住所有的概念,我试图通过ajax提交一个表单。这是我的密码

你知道吗视图.py地址:

def ajax_test1(request):
    if request.POST:
        form = ModelForm(request.POST)
        if form.is_valid():
            form.save()
            print request.POST.get('name')
            x = request.POST.get('name')
            if request.is_ajax():
                response_dict = {}
                response_dict.update({'server_response':x})
                return HttpResponse(json.dumps(response_dict),content_type='application/json')
            else:
                return HttpResponse('not ok')
    else:
        form = ModelForm()
    return render(request,'test1.html',{'form':form})

Jquery查询:

$(document).ready(function(){
    $('#button').click(function{
        var input_id =  $('#id_name').val();
        $.ajax({
            type:'POST',
            url:'/test1/',
            datatype:'json',
            data:{name:input_id},
            success: function(json){
                $('result').append(json.server_response);
            },
            headers:{'X-CSRFToken':csrf_token},
            error: function(xhr,errmsg,err){
                alert('Something worng');
            }
        });
    });   
});

Html格式:

<form action="" method="POST" accept-charset="utf-8">
                    {% csrf_token %}
                    {{ form }}

    <p><input id="button" type="submit" value="Continue &rarr;"></p>
    </form>

    <div id="result">

    </div>
    <div id="result1">

    </div>

上面的代码返回200响应,但数据没有保存,它返回ServeR响应:未定义你知道吗


Tags: namedivformidjsonreturnifresponse