Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django中未激发Ajax请求_Python_Jquery_Django_Ajax - Fatal编程技术网

Python django中未激发Ajax请求

Python django中未激发Ajax请求,python,jquery,django,ajax,Python,Jquery,Django,Ajax,我有一个问题,我认为ajax没有达到匹配的视图。这就是我要发送的ajax $.ajax( { url : 'ajax/create_lobby/', data: { 'creator' : data.message.creator, 'opponent' : data.message.opp

我有一个问题,我认为ajax没有达到匹配的视图。这就是我要发送的ajax

$.ajax(
                {
                    url : 'ajax/create_lobby/',
                    data: {
                        'creator' : data.message.creator,
                        'opponent' : data.message.opponent,
                    },
                    headers:{
                        "X-CSRFToken": csrftoken
                    },
                    dataType: 'json',
                    success: function (data){
                        alert("Sended ajax request");
                    }
                }
            )
其中
var csrftoken=$(“[name=csrfmiddlewaretoken]”)val()

main url.py包含以下内容:

urlpatterns = [
    path('chat/', include('chat.urls')),
    path('admin/', admin.site.urls),
    #this is what is not working
re_path(r'^ajax/create_lobby/$', quizViews.createLobby, name = "create_lobby"),
    path("lobbies/", include('lobbies.urls')),
    path("lobby/", include('quiz.urls')),
    path('', include('accounts.urls')),
]
因此,我首先负责匹配更严格的URL

这是url匹配的视图:

@csrf_exempt
def createLobby(request):
    creator = request.GET.get("creator", None)
    opponent = request.GET.get("opponent", None)
    print(creator)
    print(opponent)
    data = {
        'creator' : creator,
        'opponent' : opponent
    }
    return JsonResponse(data)
这是我在pycharm控制台中获得的信息:

HTTP GET /lobbies/ajax/create_lobby/?creator=mihai&opponent=alexandru 200 [0.09, 127.0.0.1:56867]
如果我尝试通过POST方法发送,我会在控制台中看到下一条消息,但我不明白为什么

Forbidden (CSRF token missing or incorrect.): /lobbies/ajax/create_lobby/

ajax似乎没有被解雇,我看不出问题所在。你能帮帮我吗,我是阿贾克斯新手。谢谢大家!

你把数据传给JsonResponse了吗?我编辑过。现在我发送数据,但什么也没发生。浏览器控制台怎么说。。。。你查过了吗?是否确实要通过
GET
方法发送?浏览器控制台不显示任何消息。我尝试使用POST方法,但在pycharm的控制台中出现了禁止的错误。是否要准确地使用get或POST?是否将数据传递给JsonResponse?我编辑了。现在我发送数据,但什么也没发生。浏览器控制台怎么说。。。。你查过了吗?是否确实要通过
GET
方法发送?浏览器控制台不显示任何消息。我尝试使用POST方法,但我在pycharm的控制台中得到了禁止的错误。您想确切地使用get或POST吗?