簡體   English   中英

使用PHP或jQuery / javascript從URL獲取參數

[英]Get parameters from URL with PHP or jQuery/javascript

我有一個網址,而不是一個字符串。 它在瀏覽器的地址欄中

http://localhost/sample/?post_id2#access_key=1654040333

如何獲取以#開頭的access_key參數?

我試過使用$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']$_SERVER['QUERY_STRING']但有幫助。

誰能幫我嗎?

post_id2#access_key = 1654040333

access_key不是您使用$_GET獲取的常規查詢參數。 它是使用的網頁錨點參考(由瀏覽器設計,但如今也由JS框架等)。 但是,您不會完全迷失方向,因為有parse_url()函數可以為您解析此函數。 所以:

$url = 'http://localhost/sample/?post_id2#access_key=1654040333';
var_dump(parse_url($url));

將返回以下數組:

array(5) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(9) "localhost"
  ["path"]=>
  string(8) "/sample/"
  ["query"]=>
  string(8) "post_id2"
  ["fragment"]=>
  string(21) "access_key=1654040333"
}

因此您的access_key將位於fragment密鑰中,因此您可以對其進行進一步處理以獲得值:

$parse_url_result = parse_url($_SERVER['QUERY_STRING']);
if (array_key_exists('fragment', $parse_url_result)) {
   $tmp = explode('=', $parse_url_result['fragment']);
   $access_key = $tmp[1];
}

嘗試通過javascript解析網址

alert(window.location.hash);

您可以使用parse_url獲得所需的結果。

$url = "http://localhost/sample/?post_id2#access_key=1654040333";
var_dump(parse_url($url, PHP_URL_FRAGMENT));

暫無
暫無

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

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