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,087
  • 3
  • 12
  • 31
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.

Ruan Mendes
  • 90,375
  • 31
  • 153
  • 217
hugomg
  • 68,213
  • 24
  • 160
  • 246
  • 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,534
  • 2
  • 26
  • 31