# Can't get IP address to display. Only display's ...

**URL:** <https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945>\
**Category:** Uncategorized\
**Created:** [June 16, 2021, 12:03pm UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945 "2021-06-16T12:03:52Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![jkredfoot](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/jkredfoot/32/14710_2.png) [@jkredfoot](https://forum.kirupa.com/u/jkredfoot)\
**Post date:** [June 16, 2021, 12:03pm UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945/1 "2021-06-16T12:03:52Z")

</div>

```
import React, { Component } from "react";

var xhr;

class IPAddressContainer extends Component {
    constructor (props) {
        super (props);

        this.state = {
            ip_address: "..."
        };

        this.processRequest = this.processRequest.bind(this);
    }

    componentDidMount () {
        xhr = new XMLHttpRequest ();
        xhr.open("GET", "https//ipinfo.io/json", true);
        xhr.send();

        xhr.addEventListener("readystatechange", this.processRequest, false);
    }

    processRequest () {
        if (xhr.readyState === 4 && xhr.status === 200 ) {
            var response = JSON.parse (xhr.responseText);

            this.setState ( {
                ip_address: response.ip
            });
        }
    }
    
    render () {
        return (
        <div>{this.state.ip_address}</div>
        );
    }
}

export default IPAddressContainer;
```

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [June 16, 2021, 1:36pm UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945/2 "2021-06-16T13:36:44Z")

</div>

Do you see any errors in your developer tools’ Console?

---

<div class="post-metadata">

**Author:** ![jkredfoot](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/jkredfoot/32/14710_2.png) [@jkredfoot](https://forum.kirupa.com/u/jkredfoot)\
**Post date:** [June 16, 2021, 1:54pm UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945/3 "2021-06-16T13:54:58Z")

</div>

Yes:

Uncaught SyntaxError: Unexpected token \< in JSON at position 0  
at JSON.parse ()  
at IPAddressContainer.processRequest

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [June 16, 2021, 5:07pm UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945/4 "2021-06-16T17:07:04Z")

</div>

You don’t need a space between `JSON.parse` and `(xhr.responseText)`. It should be:

```
var response = JSON.parse(xhr.responseText);

```

Does changing the spacing make the error go away?

---

<div class="post-metadata">

**Author:** ![jkredfoot](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/jkredfoot/32/14710_2.png) [@jkredfoot](https://forum.kirupa.com/u/jkredfoot)\
**Post date:** [June 16, 2021, 5:20pm UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945/5 "2021-06-16T17:20:56Z")

</div>

No, I still get the error:

Uncaught SyntaxError: Unexpected token \< in JSON at position 0  
at JSON.parse ()  
at IPAddressContainer.processRequest

---

<div class="post-metadata">

**Author:** ![krilnon](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/krilnon/32/34_2.png) [@krilnon](https://forum.kirupa.com/u/krilnon)\
**Post date:** [June 16, 2021, 10:06pm UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945/6 "2021-06-16T22:06:04Z")

</div>

> [@jkredfoot](#):
>
> `"https//ipinfo.io/json"`

Seems like you need a `:`: `"https://ipinfo.io/json"`

---

<div class="post-metadata">

**Author:** ![jkredfoot](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/jkredfoot/32/14710_2.png) [@jkredfoot](https://forum.kirupa.com/u/jkredfoot)\
**Post date:** [June 16, 2021, 10:39pm UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945/7 "2021-06-16T22:39:20Z")

</div>

Good catch. Now I get 3 separate errors:

Failed to load resource: the server responded with a status of 429 ()

Unchecked runtime.lastError: The message port closed before a response was received.  
localhost/:1

Error handling response: TypeError: Cannot read property ‘loggedOut’ of undefined  
at chrome-extension://kcnhkahnjcbndmmehfkdnkjomaanaooo/contentscript.js:167:137

---

<div class="post-metadata">

**Author:** ![krilnon](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/krilnon/32/34_2.png) [@krilnon](https://forum.kirupa.com/u/krilnon)\
**Post date:** [June 17, 2021, 2:09am UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945/8 "2021-06-17T02:09:09Z")

</div>

> [@jkredfoot](#):
>
> Failed to load resource: the server responded with a status of 429 ()

[HTTP 429 is ‘too many requests’](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429), so it might not be something you can resolve yourself given that you’re talking to an external service.

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [June 17, 2021, 2:15am UTC](https://forum.kirupa.com/t/cant-get-ip-address-to-display-only-displays/647945/9 "2021-06-17T02:15:31Z")

</div>

Ah! You can use my app key to work around that: [IPAddress from React book component only works w/ "on your network" - #15 by kirupa](http://forum.kirupa.com/t/ipaddress-from-react-book-component-only-works-w-on-your-network/639505/15)

Note that the best approach is for you to register your own free version of the API from [ipinfo.io](http://ipinfo.io), for my version gets exhausted by other users of it very quickly 🚆

🙂
