Django URL看不到链接及其POST请求

问题描述 投票:0回答:1

我做了一个项目,但是在其中,您需要从VK社交网络中获取特殊令牌。我使令牌与链接一起传递。她看起来像这样:

http://127.0.0.1:8000/vk/auth#access_token=7138dcd74f5da5e557943b955bbfbd9a62811da7874067e5fa0edef1ca8680216755be16&expires_in=86400&user_id=397697636

但是问题是django无法看到此链接。我试图在发布请求,获取请求中查看它,但是那里的所有内容都是空的。我试图使它不是作为请求而是作为链接出现,就像这样:

http://127.0.0.1:8000/vk/auth #access_token=7138dcd74f5da5e557943b955bbfbd9a62811da7874067e5fa0edef1ca8680216755be16&expires_in=86400&user_id=397697636

但是django不想读取空格。谁可以帮助

python django post django-urls
1个回答
0
投票

[我认为在?之后的查询字符串(获取参数)和一个片段(在#之后的文本之间有混淆)

#之后的内容不会发送到服务器(因此也不会被Django接收),它仅对Web浏览器和在浏览器上执行的javascript有用,后者可以使用它来更新部分内容。屏幕。将其用作一页Web应用程序的虚拟url /书签。javascript当然也可以使用该数据触发AJAX请求,但这取决于javascript

但是如果您写http://127.0.0.1:8000/vk/auth?access_token=7138dcd74f5da5e557943b955bbfbd9a62811da7874067e5fa0edef1ca8680216755be16&expires_in=86400&user_id=397697636(用#替换?

然后您可以在django视图中通过以下方式接收信息:>

[request.GET["access_token"]request.GET["expires_in"]request.GET["user_id"]

如果确实是#,则您的JavaScript应该解析#之后的内容,并向服务器发出相应的AJAX请求,以发送/验证令牌。

关于片段的另一个问题,请参考Is the URL fragment identifier sent to the server?

© www.soinside.com 2019 - 2024. All rights reserved.