[英]Django Ajax Post request
Error is: Forbidden (CSRF token missing or incorrect.): /tracker/错误是:禁止(CSRF 令牌丢失或不正确。):/tracker/
i try a URL: tracker, tracker/, /tracker/, http://127.0.0.1:8000/tracker/'我试试 URL: tracker, tracker/, /tracker/, http://127.0.0.1:8000/tracker/'
I'm new to Django.我是 Django 的新手。 I try many URL and I also try a Moesif CORS(Extention)
我尝试了很多 URL 并且我还尝试了 Moesif CORS(扩展)
console Error is: jquery-3.5.1.js:10099 POST http://127.0.0.1:8000/tracker/ 403 (Forbidden) send @ jquery-3.5.1.js:10099 ajax @ jquery-3.5.1.js:9682 (anonymous) @ (index):276 dispatch @ jquery-3.5.1.js:5429 elemData.handle @ jquery-3.5.1.js:5233控制台错误是:jquery-3.5.1.js:10099 POST http://127.0.0.1:8000/tracker/ 403(禁止)发送@ jquery-3.5.1.js:10099 Z2705A83A5A0659CCE34583972.51@jquery-3.5.1.js:10099 Z2705A83A5A0659CCE3458393.51. :9682(匿名)@(索引):276 调度@jquery-3.5.1.js:5429 elemData.handle @jquery-3.5.1.js:5233
urls.py file : urls.py 文件:
urlpatterns = [
path('', views.index, name="index"),
path('preview/<int:id>/', views.preview, name="preview"),
path('checkout/', views.checkout, name="checkout"),
path('tracker/', views.tracker, name="tracker"),
]
console.log('working') console.log('工作')
$('#trackerForm').submit(function(event){
$('#items').empty();
var formdata = {
'orderId' : $('input[name=order_id]').val(),
'email' : $('input[name=email]').val(),
'csrfmiddlewaretoken': $('input[name=csrfmiddlewaretoken]').val()
};
$.ajax({
type : 'POST',
url : 'http://127.0.0.1:8000/tracker/',
data:'formdata',
encode: true
})
.done(function(data){
console.log(data)
updates = JSON.parse(data);
if (updates.length > 0 & updates != {}) {
for (i = 0; i < updates.length; i++) {
let text = updates[i]['text'];
let time = updates[i]['time'];
mystr = `<li class="list-group-item d-flex justify-content-between align-items-center">
${text}
<span class="badge badge-primary badge-pill">${time}</span>
</li>`
$('#items').append(mystr);
}
} else {
mystr = `<li class="list-group-item d-flex justify-content-between align-items-center">
Sorry, We are not able to fetch this order id and email. Make sure to type correct order Id and email</li>`
$('#items').append(mystr);
}
})
event.preventDefault();
})
Views.py视图.py
def tracker(request):
if request.method == "POST":
order_id = request.POST.get('order_id')
email = request.POST.get('email')
try:
order = Order.objects.filter(order_id=order_id, email=email)
if len(order) > 0:
update = updateOrder.objects.filter(order_id=order_id)
updates = []
for item in update:
updates.append({'text':item.order_desc, 'time':item.timestamp})
responce = json.dumps(updates, default=str)
print(responce)
return HttpResponse(responce)
else:
return HttpResponse({})
except Exception as e:
return HttpResponse({})
context={}
return render(request, 'cart/tracker.html', context)
Remove the quotes around 'formdata' -> formdata
删除
'formdata' -> formdata
周围的引号
formdata= {
...
}
...
$.ajax({
type : 'POST',
url : 'http://127.0.0.1:8000/tracker/',
data: formdata,
encode: true
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.