How to get URL parameters with Dojo toolkit
Asked Answered
P

2

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?

Phosphate answered 26/7, 2011 at 16:43 Comment(0)
B
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.

Bushmaster answered 26/7, 2011 at 22:18 Comment(1)
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)))Bilk
D
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);            
});    
Drugge answered 4/5, 2014 at 18:17 Comment(1)
+1. Note that dojo.doc became deprecated in Dojo 1.8. Use document instead if using Dojo 1.9+.Accouterment

© 2022 - 2024 — McMap. All rights reserved.