[英]How can I POST without form in Django
I'm using dynamic fields for my input.我正在使用动态字段进行输入。 I have a form with a submit button and div to append the dynamic fields.
我有一个带有提交按钮和 div 到 append 动态字段的表单。 Right now I'm just trying to POST with dummy data, but I'll switch it to an array when it works.
现在我只是想用虚拟数据发布,但我会在它工作时将它切换到一个数组。
<form class="signin" action="{% url 'main:link/link' %}" id="Form1">
This is my request in my html.这是我在 html 中的要求。
var $form = $( this ),
path = $form.attr( "action" );
payload = {"tKey":"test"};
var posting = $.ajax({
url: path,
method: "POST",
headers: {'X-CSRFToken': '{{ csrf_token }}'},
data: payload,
dataType: "application-json",
});
console.log(payload);
posting.done(function() {
console.log("posted");
});
posting.fail(function() {
console.log( "error" );
});
This is my views:这是我的看法:
def test1(request):
if request.method == 'GET':
return render(request, 'link.html')
elif request.method == 'POST':
data = request.POST.get('data')
return render(request, 'link.html')
Unfortunately it keeps failing.不幸的是,它一直失败。 Any ideas what I'm doing wrong?
任何想法我做错了什么? Thanks!
谢谢!
if a view receives as an ajax call, it must deserialize the json body itself.如果视图接收到 ajax 调用,它必须反序列化 json 主体本身。
import json
def test1(request):
if request.method == 'GET':
return render(request, 'link.html')
elif request.method == 'POST':
data = json.loads(request.body)
return render(request, 'link.html')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.