从ajax POST请求获取我的数据返回none



我打印出数据,它说没有。同样,当我console.log在js方面的数据发送之前,它是完全完好无损的。这是一个Django项目,放在我的PC上。

js:

function sendList(maList,name) {
//event.preventDefault();
var liste = maList;
var namee= name;
var csrftoken = $('[input[name=csrfmiddlewaretoken]').val();
console.log(csrftoken);
console.log(maList);
console.log(name);
$.ajax({
type: "POST",
url: "http://127.0.0.1:8000/home/newCoords/",
headers: {
'X-CSRFToken':csrftoken,

},
contentType:'application/json; charset=utf-8',
dataType:'text',
data: JSON.stringify({
"pointName": namee,
"fieldPoints": liste,
//csrfmiddlewaretoken: csrftoken
}),
sucess: function() {
console.log(bruh);
},
error: function(xhr, status, error) {
console.log(error);
}
});
}

Python视图文件

def newCoords(request):
if request.method =='POST':
pointName = request.POST.get('pointName')
fieldPoints= request.POST.get('fieldPoints')
print(pointName)
print(fieldPoints)
point = points(pointName=pointName,fieldPoints=fieldPoints)
point.save()
print("alrighty then mate")

return HttpResponse("200")
else:
print('well drats')
return HttpResponse("how messed up is messed up")

我试过搞乱模型,但我最终只是保存null和none字段到我的数据库。我还尝试了json.dumps之后的数据进入视图侧而不是js侧的模型,但无济于事。我觉得我错过了什么。我还是个新手。

在Django中,你可以像这样获取请求数据…

Views.py

def CreditSaveView(request):
if request.method == 'POST':
creditform = CreditForm(request.POST)
if creditform.is_valid():
amt = request.POST['amt']
tag = request.POST['tag']
crs = request.POST['csrfmiddlewaretoken']
CreditModel(amt=amt,tag=tag).save()
return JsonResponse({'status':'done'})

urls . py

path('creditsave/',CreditSaveView),
Ajax代码

document.getElementById("creditbtn").addEventListener("click", function() {
let id_amt = document.getElementById('id_amt').value;
let id_tag = document.getElementById('id_tag').value;
let crs = document.getElementsByName('csrfmiddlewaretoken')[0].value
my_data = {csrfmiddlewaretoken:crs,amt:id_amt, tag:id_tag};
console.log(my_data)
$.ajax({
url: "/creditsave/",
method: "POST",
data: my_data,
success: function (data){
if (data.status == 'done'){
document.getElementsByTagName('form')[1].reset()        
}
}
});
});