Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

relative URL not working with axios in node

On my node server, the following code works

axios.get('http://localhost:8080/myPath') // works

But relative pathes don't work

axios.get('/myPath') // doesn't work

I get this error :

message:"connect ECONNREFUSED 127.0.0.1:80" port:80

How can I get the relative url work like in the browser ?

Relative path should be hitting on port 8080, not 80.

Where do I set that on my node server ?

like image 577
Lev Avatar asked Oct 23 '18 11:10

Lev


2 Answers

Create a new instance with custom configuation. like below

var instance = axios.create({ baseURL: 'http://localhost:8080' });

instance.get('/myPath', { timeout: 5000 });

Hope, this will works Reference: https://www.npmjs.com/package/axios

like image 116
Marla Tarakeswara Rao Avatar answered Oct 19 '22 19:10

Marla Tarakeswara Rao


You can't use a relative URL in this scenario because there's nothing for it to be relative to - you're executing code in a script running on the server, not in a browser. It doesn't have any concept of a "current" URL to be relative to.

You'll need to explicitly specify the full domain name and port. If this causes you a problem (e.g. because you want to deploy this to different hosts without changing the code) you'll have to inject the values into your code another way (e.g. by reading from a config file, cf. documentation here).

like image 31
ADyson Avatar answered Oct 19 '22 18:10

ADyson