getting json from external source in javascript

Json issues with javascript and jquery. Trying to load some JSON using javascript.

I have it working using:

See it here: http://jsfiddle.net/5pjha/789/

var url = "http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true";

$.getJSON(url, function (json) {
    alert(JSON.stringify(json.results));
});

But it dosnt work on the following urls, why is this?

https://poloniex.com/public?command=return24hVolume

https://bittrex.com/api/v1/public/getmarkets

https://api.mintpal.com/v1/market/summary/

Are the following urls not correct JSON ?

Thanks

Answers:

Answer

The google's api set the Access-Control-Allow-Origin header to *, so you could access it by cross domain.

While other urls you provided do not, so you will got an error like below:

XMLHttpRequest cannot load https://api.mintpal.com/v1/market/summary/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fiddle.jshell.net' is therefore not allowed access.

Answer

I believe the issue is down to whether or not the servers you are requesting your JSON from have cross-origin resource sharing (CORS) enabled.

you can see in the headers from the google service that they set Access-Control-Allow-Origin:* This is not the case for teh other URL's you list.

To get around this you will need some form of proxy so that you can request from a server either on the same domain or a server that enables CORS.

Answer

For ajax request to any server, You need to define Access-Control-Allow-Origin header for client. which is absent in given. You need to define origin of XMLHttp request in server who can request.

For more info refer this link

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.