jquery检查URL是否有查询字符串

时间:2012-01-19 04:13:01

标签: jquery string url

如果它第一次访问该网站并且没有添加任何查询,或者如果只有一个查询字符串附加到网址'?hos',如http://hospitalsite/events/Pages/default.aspx?hos=somevalue,那么我需要应用if条件...其他条件工作正常。如何查看是否有查询

$(".hospitalDropDown").change(function(e){
  currentURL=$(location).attr('href');
  if((currentURL == 'http://hospitalsite/events/Pages/default.aspx' or (....)) {
    window.location.href= 'http://hospitalsite/events/Pages/default.aspx'+'?hos='+$(this).val();
  } else {
    window.location.href = ( $(this).val() == "All Hospitals" ) ? 'http://hospitalsite/events/Pages/default.aspx': currentURL +'&hos='+ $(this).val(); 
  }
});

4 个答案:

答案 0 :(得分:22)

我认为你喜欢这个价值:

var queryString = window.location.search;

如果您的网址是“http://www.google.com/search?q=findme”,则上述queryString变量将等于“?q = findme”。

您可以检查是否为非空,以查看是否有查询字符串。

答案 1 :(得分:2)

不完全确定整个查询字符串,但这可以帮助您检查查询字符串中是否有单独的变量:

var $_GET = {};

document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
    function decode(s) {
        return decodeURIComponent(s.split("+").join(" "));
    }

    $_GET[decode(arguments[1])] = decode(arguments[2]);
});

document.write($_GET["test"]);

这个问题还有一些答案可能会指向正确的方向:

how to get GET and POST variables with JQuery?

答案 2 :(得分:0)

试试这个

$(".hospitalDropDown").change(function(e){
        if(location.href.indexOf('?') == -1) {
            window.location.href= 'http://hospitalsite/events/Pages/default.aspx'+'?hos='+$(this).val();
            }
            else{
                window.location.href = ( $(this).val() == "All Hospitals" ) ? 'http://hospitalsite/events/Pages/default.aspx': location.href +'&hos='+ $(this).val(); }

    });

答案 3 :(得分:0)

以下是获取查询字符串的javascript代码:

function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
    return "";
else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

如果此函数返回null,则没有查询字符串,您可以直接调用此函数。