使用PHP或jQuery / javascript从URL获取参数

时间:2016-07-28 16:12:50

标签: php url

我有一个网址,而不是字符串。它在浏览器的地址栏中

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

如何获取以access_key开头的#参数?

我试图使用$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']以及$_SERVER['QUERY_STRING'],但仍然如此。

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:2)

  

post_id2#access_key = 1654040333

access_key不是您使用即{。{}}获得的常规查询参数。它是使用的网页锚引用(由浏览器设计,但现在也由JS框架等)。然而,你没有完全迷失,因为有parse_url()函数可以为你解析这个。所以:

$_GET

会返回以下数组:

$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

答案 1 :(得分:1)

尝试通过javascript解析网址

alert(window.location.hash);

答案 2 :(得分:0)

您可以使用$url = "http://localhost/sample/?post_id2#access_key=1654040333"; var_dump(parse_url($url, PHP_URL_FRAGMENT)); 来获取所需的结果。

   private bool isEvenClick;
   private void button1_Click(object sender, EventArgs e)
    {
        if (!isEvenClick)
        {
            m1();
            isEvenClick = true;
        }
        else
        {
            m2();
            isEvenClick = false;
        }
    }

    public void m1()
    {
        button1.Text = "01";

    }

    public void m2()
    {
        button1.Text = "02";

    }