14

I need know how can get a parameter from the URL. I mean if have

   page1.html?id=12345 

I need to get the id from the URL, I know that in jQuery is $.url.param("id");

But in Dojo how it is done?

carmenism
  • 1,067
  • 2
  • 11
  • 30
Alexander
  • 277
  • 1
  • 6
  • 17

2 Answers2

17

The relevant function is dojo.queryToObject(string) it returns an object containing the key-value pairs from the query string. This way, you can use either

dojo.queryToObject("id=12345").id

or

dojo.queryToObject("id=12345")['id']

Do note that this function receives only the query part of the url. You can get this information via document.location.search, as mentioned by Ghislain in the comments.

Juan Mendes
  • 85,853
  • 29
  • 146
  • 204
hugomg
  • 66,048
  • 22
  • 153
  • 240
  • 6
    I suggest using `dojo.doc.location.search` to get the query part of the URL. You just have to remove the leading '?' before passing it to `queryToObject` : `dojo.queryToObject(dojo.doc.location.search.substr((dojo.doc.location.search[0] === "?" ? 1 : 0)))` – Ghislain Leveque Feb 10 '12 at 16:43
7

In new dojo it's accessed with io-query:

require([
    "dojo/io-query",
 ], function (ioQuery) {
    GET = ioQuery.queryToObject(decodeURIComponent(dojo.doc.location.search.slice(1)));
    console.log(GET.id);            
});    
Pehmolelu
  • 3,474
  • 2
  • 25
  • 30