【发布时间】:2011-10-13 14:18:18
【问题描述】:
我需要知道如何从 URL 中获取参数。我的意思是如果有
page1.html?id=12345
我需要从 URL 中获取 id,我知道在 jQuery 中是
$.url.param("id");
但是在 Dojo 中是怎么做的呢?
【问题讨论】:
标签: url dojo dojox.grid
我需要知道如何从 URL 中获取参数。我的意思是如果有
page1.html?id=12345
我需要从 URL 中获取 id,我知道在 jQuery 中是
$.url.param("id");
但是在 Dojo 中是怎么做的呢?
【问题讨论】:
标签: url dojo dojox.grid
相关函数是dojo.queryToObject(string),它返回一个包含来自查询字符串的键值对的对象。这样,您可以使用任一
dojo.queryToObject("id=12345").id
或
dojo.queryToObject("id=12345")['id']
请注意,此函数仅接收 url 的查询部分。您可以通过 document.location.search 获取此信息,正如 Ghislain 在 cmets 中提到的那样。
【讨论】:
dojo.doc.location.search 来获取URL 的查询部分。你只需要删除领先的'?在将其传递给queryToObject 之前:dojo.queryToObject(dojo.doc.location.search.substr((dojo.doc.location.search[0] === "?" ? 1 : 0)))
在新的 dojo 中使用 io-query 访问它:
require([
"dojo/io-query",
], function (ioQuery) {
GET = ioQuery.queryToObject(decodeURIComponent(dojo.doc.location.search.slice(1)));
console.log(GET.id);
});
【讨论】:
dojo.doc 在 Dojo 1.8 中已弃用。如果使用 Dojo 1.9+,请改用 document。