1
var api = "/self/{code}/my/{id}";

var code = "GHUYFUYI";
var id = 12346;

嗨,我是 Jquery 的新手...任何帮助表示赞赏。

使用上面的 API 路径数据,我们如何使用 JQuery 生成如下所示的 URL?

提前致谢....

结果:

/self/GHUYFUYI/my/12346
4

5 回答 5

1
var api = "/self/{0}/my/{1}";
var array = new Array("GHUYFUYI",12345);
for (var i = 0; i < array.length; i++) {
 api = api.replace("{"+i+"}",arr[i]); 
}
cosole.log(api);

你可以做这样的事情。

于 2013-09-05T14:43:41.203 回答
1

为此,您不需要 jQuery。只是普通的旧Javascript...

var api = "/self/{code}/my/{id}";

var code = "GHUYFUYI";
var id = 12346;

api = api.replace("{code}", code).replace("{id}", id);
于 2013-09-05T14:43:18.697 回答
0

你最好的选择是使用正则表达式。这是一个简单的例子:

var api = "/self/{code}/my/{id}";

var code = "GHUYFUYI";
var id = 12346;

api = api.replace(/{code}/, code).replace(/{id}/, id);
于 2013-09-05T14:44:07.643 回答
0

您可以使用 javascript 函数 Replace ( http://www.w3schools.com/jsref/jsref_replace.asp )

api = api.replace("{code}", code).replace("{id}", id);
于 2013-09-05T14:44:29.987 回答
0

增强字符串原型

if (!String.prototype.format) {
    String.prototype.format = function() {
        var str = this.toString();
        if (!arguments.length)
            return str;
        var args = typeof arguments[0],
            args = (("string" == args || "number" == args) ? arguments : arguments[0]);
        for (arg in args)
            str = str.replace(RegExp("\\{" + arg + "\\}", "gi"), args[arg]);
        return str;
    }
}

用法

var formatData = {
             code:"GHUYFUYI", 
             id:12346
         };    
var api = "/self/{code}/my/{id}".format(formatData);

致谢:加布里埃尔·纳米亚斯

于 2013-09-14T13:56:18.307 回答