簡體   English   中英

無法通過查詢字符串從網址獲取參數

[英]Can't get parameter from url via query string

我正在我的網站上實施google登錄。
問題是,當google將我重定向到我的網站(確認后)時,我無法從查詢字符串中獲取訪問令牌。
這是URL:

http://localhost/mysite/west/Default.aspx#state=/profile&access_token=ya29.qQDrtcVtgOEbS86Bg10puFG3dksJz74BlrEGulHldlJW2o5qQ6g7ilF17zQsm8iMLG0C82PQyp2Z-g&token_type=Bearer&expires_in=3600

我懷疑這個#state=/profile會引起一些問題,但無法解決。
我想念什么嗎?

你可以用

document.URL以獲取url。

然后按#state = / profile&分割網址

然后,數組的第二部分被&分割。

然后每個部分首先分割=

可能會有更優雅的解決方案,但這應該可行。

如果URL是這樣的,請注意, Default.aspx之后有 ,不是嗎? ,那么就沒有直接獲取getquerystring的直接方法(它們被稱為URL片段而不是querystring ),它們是在客戶端進行解析的,而服務器端則無法訪問URL Fragments

http://localhost/mysite/west/Default.aspx#state=/profile&access_token=ya29.qQDrtcVtgOEbS86Bg10puFG3dksJz74BlrEGulHldlJW2o5qQ6g7ilF17zQsm8iMLG0C82PQyp2Z-g&token_type=Bearer&expires_in=3600

鏈接包含#,表示網頁上的錨點,位置。 瀏覽器將GET請求發送到服務器,該請求僅包含整個頁面的地址,不包含錨,片段或其他內容。 當服務器返回頁面時,瀏覽器會知道該頁面的位置,因此可以看到錨點的位置。 在客戶端或Javascript中,由於可以訪問錨點,因此是可能的。

閱讀本文- 如何從服務器端獲取Url哈希(#)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM