gpt4 book ai didi

Jquery $post 请求在 Django 中不起作用

转载 作者:行者123 更新时间:2023-12-01 05:57:19 24 4
gpt4 key购买 nike

我正在尝试将来自 javascript 的 $post 请求使用到我的 django 模板中,但是我缺少一些东西,因为它不起作用。

我将向您展示我的代码:

这是模板:

//TEMPLATE
//This code will send a string to django "views.py" file,
//then it will show a pop up message from the data retreived from "views.py"

function test_post(){
$.post("/xhr_test",
{name: "Monty", food: "Spam", csrftoken : "{{ csrf_token }}" },

function(data) {
alert(data)
;});
};

这是views.py:

// VIEWS.PY
//Depending on the type of request it will send a message or another.


def xhr_test(request):
if request.is_ajax():
if request.method == 'GET':
message = "This is an XHR GET request"
elif request.method == 'POST':
message = "This is an XHR POST request"
# Here we can access the POST data
print request.POST
else:
message = "No XHR"
return HttpResponse(message)

此代码没有显示应有的“这是 XHR POST 请求”消息。但是,在使用 $get 请求时,它确实显示“这是 XHR GET 请求”消息。

类似的疑问在thread中得到了解答。即使我使用那里提供的答案,代码也不起作用。

我猜测答案一定与“{{ csrf_token }}”相关,但不确定如何...

任何类型的帮助将不胜感激。

最佳答案

如果这是由于 csrf token 造成的(您可以使用 firebug 在浏览器中检查它),则在 view.py 中使用它

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def xhr_test(request):
...........

关于Jquery $post 请求在 Django 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14334901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com