如何替换 API URI 路径中的值以使用 javascript 生成完整的 URL

How to replace values in API URI path to generate full URL using javascript?

本文关键字:javascript URL 替换 API 路径 URI 何替换      更新时间:2023-09-26
var api = "/self/{code}/my/{id}";
var code = "GHUYFUYI";
var id = 12346;

嗨,我是 Jquery 的新手...任何帮助不胜感激。

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

提前谢谢....

结果:

/self/GHUYFUYI/my/12346
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);

你可以做这样的事情。

你不需要jQuery。 只是普通的旧Javascript...

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

最好的办法是使用正则表达式。 下面是一个简单的示例:

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

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

api = api.replace("{code}", code).replace("{id}", id);

增强字符串原型

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);

学分:加布里埃尔·纳赫米亚斯