Python Django URL模式包括#
我在使用URL模式时遇到问题 URL的格式如下所示:Python Django URL模式包括#,python,django,url-pattern,Python,Django,Url Pattern,我在使用URL模式时遇到问题 URL的格式如下所示: /API#access_token=<string>&expires_in=<timestamp> /API\access\u token=&expires\u in= 不幸的是,我无法更改#access_token=&expires_in=部分,因为这超出了我的控制范围,我只需要让我的代码正常工作 我尝试了许多不同的模式,下面列出了其中的一些。这是我的第一个Django项目,任何建议和指点都将不胜感激 u
/API#access_token=<string>&expires_in=<timestamp>
/API\access\u token=&expires\u in=
不幸的是,我无法更改#access_token=&expires_in=部分,因为这超出了我的控制范围,我只需要让我的代码正常工作
我尝试了许多不同的模式,下面列出了其中的一些。这是我的第一个Django项目,任何建议和指点都将不胜感激
url(r'^API#access_token=(?P<token_info>\w+)&expires_in(?P<time>\d+)$'
url(r'^API#(?P<tokens>\w+)$'
url(r'^API/#(?P<tokens>\w+)&(?P<expiration>\d+)$'
url(r'^API#access_token=(?P\w+)&expires_in(?P\d+)$)
url(r'^API#(?P\w+)$)
url(r'^API/#(?P\w+&(?P\d+)$)
问题在于,锚定#
(也称为片段标识符)未通过浏览器发送到服务器。正则表达式无法捕获不存在的内容。从:
片段标识符的功能不同于代码的其余部分
URI:也就是说,它的处理完全是客户端的,没有
来自web服务器的参与-当然,服务器通常
帮助确定MIME类型,MIME类型确定
处理片段。当代理(如Web浏览器)运行时
从web服务器请求web资源,代理将URI发送到
服务器,但不发送片段。相反,代理等待
让服务器发送资源,然后代理处理
根据文档类型和片段值创建资源
唯一的解决方法是在客户端解析JavaScript中的片段,并将其作为单独的异步请求发送。对于GET请求,您可以将片段作为查询参数发送(在剥离散列后)或者将其作为自定义值放在标题中。你确定你没有将
和混合起来吗?
混合起来?@Andrew_Lvov肯定没有混合起来#有没有办法让浏览器在加载HTML后将其发送回服务器?即,首先加载页面,浏览器读取URL,然后将片段发送回服务器?是的,你可以解析客户端并发送一个单独的AJAX请求。