使用Knockout JS获取URL参数

3

这个URL是来自浏览器地址栏、文本框内还是存储在变量中?无论哪种情况,只要您可以访问它,就可以使用string.split函数来解析数据。 - NPToita
这是地址栏中的URL。 - Jesse Lynn
1
参见:https://dev59.com/nHNA5IYBdhLWcg3wmfAa - Roy J
2个回答

3

解析位置。[window.location返回当前文档的位置]

var paramsString = window.location.split("?")[1];
var paramValues = paramsString.split("&");
var params = new Array();
for(var param in paramValues){
    var paramValue = param.split("=");
    params[paramValue[0]] = paramValue[1];
}

使用params参数:

var myParam = params.myParam; //or
var myOtherParam = params['myOtherParam'];

有一些路由库可以帮助你,例如SammyJS。 - Anders

1

您也可以查看这篇文章,展示了一个漂亮、简单和小的函数:

function $_GET(param) {
var vars = {};
window.location.href.replace( location.hash, '' ).replace( 
    /[?&]+([^=&]+)=?([^&]*)?/gi, // regexp
    function( m, key, value ) { // callback
        vars[key] = value !== undefined ? value : '';
    }
);

if ( param ) {
    return vars[param] ? vars[param] : null;    
}
return vars;}

然后您可以以与PHP类似的方式获取变量:

name = $_GET('name')

以下是完整文章:使用Javascript读取URL参数


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接