# Get querystring from Node Red Dashboard URL

**URL:** <https://discourse.nodered.org/t/get-querystring-from-node-red-dashboard-url/80617>\
**Category:** Dashboard\
**Tags:** node-red-dashboard\
**Created:** [16 August 2023 20:29 UTC](https://discourse.nodered.org/t/get-querystring-from-node-red-dashboard-url/80617 "2023-08-16T20:29:09Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![GregHNZ](https://avatars.discourse-cdn.com/v4/letter/g/fbc32d/32.png) [@GregHNZ](https://discourse.nodered.org/u/GregHNZ)\
**Post date:** [16 August 2023 20:29 UTC](https://discourse.nodered.org/t/get-querystring-from-node-red-dashboard-url/80617/1 "2023-08-16T20:29:09Z")

</div>

We're trying to pick up a query-string parameter from a node red dashboard URL so that on load we can fetch some relevant information from other API's.

for instance NR DB url is

> [http://192.168.0168:1880/ui/#!/0?socketid=ulqQqlNfnVd11haOAAAT&mcID=H01](http://192.168.0168:1880/ui/#!/0?socketid=ulqQqlNfnVd11haOAAAT&mcID=H01)

we want to strip out the mcID=H01.

In JS we would normally use either

```auto
let params = (new URL(document.location)).searchParams;
let name = params.get("mcID")

```

or more basic

```auto
var mcid='';   
var url = window.location.href
    .slice(window.location.href.indexOf("?") + 1)
    .split("&");

  for (var i = 0; i < url.length; i++) {
    var urlparam = url[i].split("=");
    if (urlparam[0] == 'mcID') {
      mcid= urlparam[1];
    }

```

Any suggestions?

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [16 August 2023 21:10 UTC](https://discourse.nodered.org/t/get-querystring-from-node-red-dashboard-url/80617/2 "2023-08-16T21:10:37Z")

</div>

Try

```auto
<script>
var url = window.location.href
var params = new URLSearchParams("?" + url.split("?")[1])
var mcID = params.get("mcID")
this.scope.send({payload: mcID});
</script>

```

example flow

```auto
[{"id":"70df2e550e8e6350","type":"debug","z":"743cc0234f1851f1","name":"debug 387","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":770,"y":240,"wires":[]},{"id":"09a2781b78b92080","type":"ui_template","z":"743cc0234f1851f1","group":"2d4fe667.28f8ba","name":"","order":15,"width":0,"height":0,"format":"<script>\nvar url = window.location.href\nvar params = new URLSearchParams(\"?\" + url.split(\"?\")[1])\nvar mcID = params.get(\"mcID\")\nthis.scope.send({payload: mcID});\n</script>","storeOutMessages":false,"fwdInMessages":false,"resendOnRefresh":true,"templateScope":"local","className":"","x":560,"y":240,"wires":[["70df2e550e8e6350"]]},{"id":"2d4fe667.28f8ba","type":"ui_group","name":"demo","tab":"1caa8458.b17814","order":2,"disp":true,"width":"18","collapse":false,"className":""},{"id":"1caa8458.b17814","type":"ui_tab","name":"Demo","icon":"dashboard","order":2,"disabled":false,"hidden":false}]

```

---

<div class="post-metadata">

**Author:** ![GregHNZ](https://avatars.discourse-cdn.com/v4/letter/g/fbc32d/32.png) [@GregHNZ](https://discourse.nodered.org/u/GregHNZ)\
**Post date:** [16 August 2023 21:35 UTC](https://discourse.nodered.org/t/get-querystring-from-node-red-dashboard-url/80617/3 "2023-08-16T21:35:20Z")

</div>

Works perfectly, Thank you

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [16 August 2023 21:41 UTC](https://discourse.nodered.org/t/get-querystring-from-node-red-dashboard-url/80617/4 "2023-08-16T21:41:15Z")

</div>

I think this should work to

```auto
<script>
    var url = window.location.href;
    var params = new URLSearchParams(url);
    var mcID = params.get("mcID");
    this.scope.send({payload: mcID});
</script>

```

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [18 August 2023 06:19 UTC](https://discourse.nodered.org/t/get-querystring-from-node-red-dashboard-url/80617/5 "2023-08-18T06:19:10Z")

</div>

> so that on load we can fetch some relevant information from other API's.

Just a side-note - the ui-control node provides the url parameters, so in case you want to use it for API calls in other nodes, it is already available.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [1 September 2023 06:20 UTC](https://discourse.nodered.org/t/get-querystring-from-node-red-dashboard-url/80617/6 "2023-09-01T06:20:03Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
