2012-11-07 45 views
1

我想通过javascript获取查询字符串值。我正在使用这个功能。如果找不到查询字符串,请修改javascript函数

var qs = (function (a) { 
if (a == "") return {}; 
var b = {}; 
for (var i = 0; i < a.length; ++i) { 
    var p = a[i].split('='); 
    if (p.length != 2) continue; 
    b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")); 

} 
return b; 
})(window.location.search.substr(1).split('&')); 

它运作良好。但是,如果URL中没有查询字符串值,那么是错误。 我想修改它,如果它发现查询值返回它。

如果没有查询字符串值,则返回单词“自然”

你能帮助我吗?

回答

2

在顶部,你可以写:

if (a == "") return "Natural"; 

但是,这是很奇怪的,你会想这样做。

+0

我已经厌倦了,但仍然返回“undefined” –

+0

@MuhammadIqbal在这里可以正常工作http://jsfiddle.net/zdRvL/ – Esailija

+0

我使用这种方式:我的网址是:www.example.com/index.html? keyword = abc我使用var keyword = qs [“keyword”]获取正确的值“abc”;但是,如果url是www.example.com/index.html,那么它不起作用。 –