Я пытаюсь получить данные json со следующей ссылки: http://pubapi.cryptsy.com/api.php?method=singlemarketdata&marketid=132. Он должен предоставить мне следующие json-данные (отображается некоторая часть данных.
{
"success": 1,
"return": {
"markets": {
"DOGE": {
"marketid": "132",
"label": "DOGE\/BTC",
"lasttradeprice": "0.00000194",
"volume": "862686257.04978180",
"lasttradetime": "2014-02-24 03:26:52",
"primaryname": "Dogecoin",
"primarycode": "DOGE",
"secondaryname": "BitCoin",
"secondarycode": "BTC",
"recenttrades": [
{
"id": "25951364",
"time": "2014-02-24 03:37:59",
"price": "0.00000195",
"quantity": "41345.42127692",
"total": "0.08062357"
},
{
"id": "25951344",
"time": "2014-02-24 03:37:34",
"price": "0.00000194",
"quantity": "469263.63233043",
"total": "0.91037145"
},
{
"id": "25951238",
"time": "2014-02-24 03:36:51",
"price": "0.00000194",
"quantity": "8312.99451077",
"total": "0.01612721"
},
Я использовал следующий код в jquery для извлечения данных
$(document).ready(function() {
var url = "http://pubapi.cryptsy.com/api.php?method=singlemarketdata&marketid=132";
$.getJSON(url,function(data) {
console.log(data);
});
});
Я могу получить данные json с помощью python, но с jquery я не получаю json-объект. Я что-то пропустил?
Основная проблема заключается в том, что вы пытаетесь сделать это с нарушением политики одного и того же происхождения
Это не похоже, что API поддерживает либо CORS, либо jsonp, поэтому вы не можете использовать его на стороне клиента, используя запрос ajax.
Возможное решение заключается в том, чтобы заставить ваш веб-сервер действовать как прокси-сервер и отправил запрос ajax на ваш сервер, а затем ваш сервер делает запрос api на удаленный сервер и получает ответ и перенаправляет ответ клиенту.
Возможно, причиной вашей проблемы может стать междоменный доступ. Вы вызываете это в другом домене?
Взгляните на следующие вопросы: