如何使用Dojo工具包获取URL参数

Ale*_*der 13 url dojo dojox.grid

我需要知道如何从URL获取参数.我的意思是,如果有

   page1.html?id=12345 
Run Code Online (Sandbox Code Playgroud)

我需要从URL获取id,我知道在jQuery中是 $.url.param("id");

但在Dojo中它是如何完成的?

hug*_*omg 16

相关函数是dojo.queryToObject(string)返回一个包含查询字符串中键值对的对象.这样,您可以使用其中之一

dojo.queryToObject("id=12345").id
Run Code Online (Sandbox Code Playgroud)

要么

dojo.queryToObject("id=12345")['id']
Run Code Online (Sandbox Code Playgroud)

请注意,此函数仅接收URL的查询部分.document.location.search如Ghislain在评论中所述,您可以通过此方式获取此信息.

  • 我建议使用`dojo.doc.location.search`来获取URL的查询部分.你只需删除前导'?' 在将它传递给`queryToObject`之前:`dojo.queryToObject(dojo.doc.location.search.substr((dojo.doc.location.search [0] ==="?"?1:0)))` (6认同)

Peh*_*elu 7

在新的dojo中,使用io-query访问它:

require([
    "dojo/io-query",
 ], function (ioQuery) {
    GET = ioQuery.queryToObject(decodeURIComponent(dojo.doc.location.search.slice(1)));
    console.log(GET.id);            
});    
Run Code Online (Sandbox Code Playgroud)