【问题标题】:How do I get id number from url in javascript?如何从javascript中的url获取id号?
【发布时间】:2015-11-11 17:10:57
【问题描述】:

抱歉,我是 Javascript 新手。我想从我的 javascript 网址中获取一个数字,因为我非常需要它。我从另一个链接获得了这段代码,但它对我的情况来说还不够完美。代码是这样的:

<html>
<head>
    <style>
    </style>
    <script type="text/javascript">
        function kampret(){
            x=location.pathname.split('/')[1];
            alert(x);
        }
    </script>
</head>
<body onload='kampret()'>
</body>
</html>

我的网址是这样的:

http://domain.com/ztest1.php?ai=85&ver=7

我想得到那个数字'85',我使用了那个代码,结果是 ztest1.php 而不是 85。我如何得到唯一的 85?谢谢。

【问题讨论】:

标签: javascript php


【解决方案1】:

你可以试试

var getUrlParams = function (url) 
{
  var params = {};
  (url + '?').split('?')[1].split('&').forEach(
    function (pair) 
    {
       pair = (pair + '=').split('=').map(decodeURIComponent);
       if (pair[0].length) 
       {
         params[pair[0]] = pair[1];
       }
  });

  return params;
};

结果是

Object {ai: "85", ver: "7"}

用法:

// 'http://domain.com/ztest1.php?ai=85&ver=7'
var params = getUrlParams( window.location.href );
alert( params.ai ); // 85

【讨论】:

  • 我如何回显该结果或警报?抱歉,我是 Java 新手。
  • @Junaserbaserbi,它是 JavaScript,没有 Java
  • window.location.href
  • Baaaam,我做到了@mishaZeng。现在可以了。其实我看不懂你的代码,对我来说还是太复杂了。但我会从你的代码中逐字逐句地在谷歌中学习。再次感谢 MishaZeng,为你 +9。
  • @mischaZeng 请在here再次帮助我
【解决方案2】:

试试这个:

function getURLParameter(name) {
  return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
}

$(document).ready(function(){
    alert(getURLParameter('ai'));
}); //JQuery

window.onload = alert(getURLParameter('ai')); //JavaScript

为你所采用:

<body onload='kampret()'></body>
<script>
    function getURLParameter(name) {
        return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ""])[1].replace(/\+/g, '%20')) || null
    }

    function kampret() {
        alert(getURLParameter('ai'));
    }
</script>

【讨论】:

  • 如果你想要ver,你可以像这样使用:getURLParameter('ver')
  • 第一个代码,没有结果,只是空白。第二个代码,警报显示但只写了 NULL
  • 它的 getURLParameter('ai') 不是 getURLParameter('a')
  • 顺便说一句,两个代码都是一样的。第一个代码有JQuery,所以你需要为它添加CDN
  • 现在可以使用了。谢谢@Vijaya。哦,JQuery,好的,等等,我再试一次。
【解决方案3】:

试试这个:

//var url = "http://domain.com/ztest1.php?ai=85&ver=7";
var url = window.location.href;
var idx = url.indexOf("?");
var idx2 = url.indexOf("&");
var hash = idx != -1 ? url.substring(idx+4, idx2) : "";

如果你只想要这段代码中的 85,你可以使用hash = idx != -1 ? hash.substring(3, idx) : "";

【讨论】:

  • 我如何从上面获取 url?
  • 使用var url = window.location.href;
  • 等一下,我试试看。
  • 结果是ai=85,我只需要85
  • 哦,我明白了,等一下,我会测试的。
【解决方案4】:

使用 php 和 javascript 的小方法。

<?php $id = $_GET['ai']; ?>
<script language="javascript">
var id = <?php echo $id; ?>;
alert(id);
</script>

【讨论】:

  • 甚至可以像alert(&lt;?php echo $_GET['ai']; ?&gt;);一样简单
  • 哈哈,是的,我知道,但只是稍微解释一下:D
  • 等一下,我试试看。
  • 哇,它可以工作@Ali,谢谢你的代码,我会把它放在我的图书馆里。也为你 +1。
  • 谢谢@Junaserbaserbi :)
猜你喜欢
  • 2018-10-28
  • 1970-01-01
  • 2014-02-06
  • 2020-09-18
  • 2021-01-22
  • 2012-09-09
相关资源
最近更新 更多