如何在Django URL中访问变量?Lyrebird API重定向参数获取问题
解决Lyrebird API重定向URL中锚点参数无法获取的问题
我之前碰到过一模一样的问题,简直太懂这种抓瞎的感觉了!当时怎么用GET或POST都拿不到access_token,后来才搞清楚关键原因:
你拿到的重定向URL里的
#是锚点标记,浏览器在向服务器发送请求时,#后面的所有内容都属于客户端侧的锚点信息,不会被传递到服务器端,所以后端自然没法通过常规的请求参数获取到这些值。
后来我摸索出了一个前端处理的方案,亲测有效,分享给你和以后碰到同样问题的开发者:
// 提取URL中的锚点部分,并去掉开头的#字符 var hash = window.location.hash.substring(1); // 将处理后的锚点参数作为查询参数,跳转到你的Django接口 window.location.replace('your-django-url?hash='+hash);
这样处理后,后端就能通过获取hash这个查询参数,再解析里面的access_token、token_type等值了。
内容的提问来源于stack exchange,提问作者Amal Matty Antony
相关产品推荐
相关产品推荐

