javascript - 如何使用 mooTools 更改查询字符串的值?

标签 javascript mootools query-string

给定一个包含带有查询字符串参数的绝对 URL 的字符串,使用 JavaScript 和/或 MooTools 替换参数值的最简单方法是什么?

例如

// Change this
'/foo/bar?frob=123456789'

// Into this
'/foo/bar?frob=abcdefg'

编辑

URL 不是当前窗口的位置。它是一个包含字符串的变量。我只想操纵这个字符串。

最佳答案

除了您所做的,这可能会更好,因为它将扩展 String 并消除对 URI 类的依赖...

(function() {

// deps on Types/String.toQueryString()
String.implement({

    fixQueryString: function(key, value) {
        var query = this.parseQueryString() || {};
        query[key] = value;
        return Object.toQueryString(query);
    }

});

// exports:
this.replaceUrlParameter = function(url, key, value) {
    var parts = url.split('?'), QS = parts[1] || null;

    return QS ? [parts[0], QS.fixQueryString(key, value)].join("?") : url;
};

})();

console.log(replaceUrlParameter('/foo/bar', 'frob', 'ownies'));
/foo/bar/
console.log(replaceUrlParameter('/foo/bar?frob=123123123', 'frob', 'ownies'));
/foo/bar?frob=ownies

http://jsfiddle.net/dimitar/fjj6W/

关于javascript - 如何使用 mooTools 更改查询字符串的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8971259/

相关文章:

javascript - fx.morph 列表在 "click"而不是 "mouseenter"

javascript - 使用 Flask 时,分页时记住参数的最佳方法是什么?

JavaScript:回调访问另一个参数

Javascript .accordion() 不工作

javascript - ReactJS - 事件未定义,它不会渲染 onChange 事件?

Javascript 对象返回垃圾值

javascript - 如何根据角色权限生成React客户端库?

javascript - MooTools-核心 : uncaught TypeError: undefined is not a function

angular - 我如何将查询参数传递到 Angular 应用程序中服务内的 REST API?

c# - Azure 搜索查询字符串中的文字 & 符号