6

是否可以使用 jquery 从 url 获取数据

例如,如果你有www.test.com/index.html?id=1&name=boo

如何获取id和name?

4

4 回答 4

9

试试这个。它是纯 javascript,不涉及 jQuery。事实上,对于这样的工作来说,jQuery 实在是太重了,真的。

function GetURLParameter(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++)
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam)
        {
            return decodeURIComponent(sParameterName[1]);
        }
    }
}​

var id = GetURLParameter('id');
var name= GetURLParameter('name');

decodeURIComponent 应该用于允许参数值包含任何字符,例如非常关键的等号=、和号&或问号?

于 2012-09-17T09:43:48.853 回答
0

一个简单的,如果你知道 url 总是有id并且name

var url = "www.test.com/index.html?id=1&name=boo";
var id = /id=(\d+)/.exec(url)[1];
var name = /name=(\w+)/.exec(url)[1];
于 2012-09-17T09:47:11.260 回答
0

在这里,我已经完成了上述问题的完整解决方案。请查看演示链接,如下所示:

为此,您首先在标头标记中包含最新的 jquery.js 和 querystring-0.9.0.js 脚本文件。

演示: http ://codebins.com/bin/4ldqpac

HTML

<a href="#?param1=abc&param2=def">
  abc
</a>

jQuery

$(function() {
    $("a").click(function() {
        setTimeout(function() {
            var param1 = $.QueryString("param1");
            var param2 = $.QueryString("param2");
            alert(param1);
            alert(param2);
        }, 300);

    });
});

演示: http ://codebins.com/bin/4ldqpac

于 2012-09-17T10:33:10.933 回答
0

试试这个:在 IE 和 chrome 中都可以正常工作。通过 javascript 获取查询字符串值

$.urlParam = function(name){
        var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
        if (results == null){
           return null;
        }
        else {
           return decodeURI(results[1]) || 0;
        }
    }

        var getData= $.urlParam('emailid');
于 2020-02-05T11:08:04.797 回答