Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 21
1

API от LastFm. работа с Json

15.05.2014, 13:08. Показов 1448. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Хотел бы получить совет по обработке json. При работе с API от Вконтакте при использовании методов выдавался ответ в формате json, который открывался новой вкладкой и предлагалось открыть/сохранить файл с ответом. После этого в запрос добавил "&callback=callbackFunc" , где callbackFunc соответственно функция, обрабатывающая json. C этим все отлично, но потом я начал работать с API от LastFm. Там тоже нужен метод мне один, делаю полностью аналогию того, что было с ВК, добавляю колбек, но он почему-то не хочет работать, браузер говорит - Uncaught exception: ReferenceError: Undefined variable: callbackFunc . Я так понимаю, что браузер не видит саму функцию, но мне непонятно почему(т.к. полная аналогия тому, что уже делалось). Сам запрос выполняется, без колбека мне дает открыть/сохранить файл, но мне нужно его обрабатывать. Может есть варианты без колбека? Помогите разобраться..

листинг:

Javascript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
 
function callbackFunc(result) { 
 
alert(JSON.stringify(result));alert('тоже сработало');
 for (var i=1; i<3; i++)
 {
  alert(result.similartracks.track[i].name);
 }
 
</script>

Javascript
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
document.getElementById('myElement').onclick = function(){
 
var script = document.createElement('SCRIPT'); 
 
script.src = "http://ws.audioscrobbler.com/2.0/?method=track.getsimilar&artist=korn&track=blind&api_key=5c2bb4dec621523b5b4b7cfcd0412361&format=json&callback=callbackFunc"; alert('сработало');
 
document.getElementsByTagName("head")[0].appendChild(script); alert('сработало2');
};
</script>


Алерты сработало и сработало2 выдаются, а вот уже в колбеке какой-то косяк..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2014, 13:08
Ответы с готовыми решениями:

Работа с Json. Нужно 3 координаты вывести в отдельный Json файл и вызвать его при нажатии на кнопку.
Здравствуйте дорогие форумчане. Нужна ваша помощь, в массиве имеется три координаты и их описание...

Json из из API
Я плолучаю джейсон , для питона это словарь { &quot;events&quot; : , &quot;source&quot; :...

Json +vk api
Доброго времени суток. Как распарсить json из vk ? Для начала {&quot;response&quot;:} пробую этим...

Десериализовать JSON VK API
Вот недавно решил сделать приложение для контакта, однако столкнулся с трудностью(не я один, судя...

5
Develo0per
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 97
15.05.2014, 14:19 2
Лучший ответ Сообщение было отмечено Good_God как решение

Решение

Good_God, Юзай ajax & jQuery...

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$(document).ready(
    function()
    {
        $('#myElement').on(
            'click',
            function()
            {
                $.ajax(
                    {
                        url : "http://ws.audioscrobbler.com/2.0/",
                        type: "GET",
                        dataType: 'json',
                        data : {
                            method : "track.getsimilar",
                            artist : "korn",
                            track : "blind",
                            api_key : "5c2bb4dec621523b5b4b7cfcd0412361",
                            format : "json"
                        },
                        success : function(resp)
                        {
                            var track = resp.similartracks.track;
                            $.each( track , function(index, element){
                                console.log(index);//  Порядковый номер, начиная с нуля.
                                console.log(element);//  Объект
                            });
                        },
                        error : function(){
                            alert('Непредвиденная ошибка')
                        }
                    }
                );
            }
        );
    }
);
1
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 21
15.05.2014, 14:57  [ТС] 3
and_y87, я с аяксом не сталкивался совсем.. поэтому код несовсем понятен. я попробовал его вставить, но он не реагирует никак. Мб нужно подключать еще дополнительно ? Ты извини уж за глупые вопросы такие..
0
Develo0per
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 97
15.05.2014, 15:00 4
Лучший ответ Сообщение было отмечено Good_God как решение

Решение

Good_God, ну да... для функцыи ajax() надо подключить библиотеку jQuery cdn_yandex
1
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 21
15.05.2014, 15:13  [ТС] 5
jquery подключен был уже. мне говорили, что аяксом нельзя посылать запросы на сторонние сайты просто. щас еще поэкспериментирую немного

Добавлено через 3 минуты
все, я кажется разобрался. в консоль вывелись результаты. Спасибо тебе громаднейшее, я уже несколько дней мучаюсь с этой фигней))
0
Develo0per
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 97
15.05.2014, 15:14 6
Good_God, Рад быть полезным
1
15.05.2014, 15:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2014, 15:14
Помогаю со студенческими работами здесь

Vk api смайлы в json
Всем привет. Проблема такая, получаю через vk api сообщения со стены. перекодирую их функцией: ...

JSON API Coinmarketcap
Всем привет! Пару вопросов помогите разобрать. 1. Что за структура данного JSON ответа. ...

Json десериализация vk api
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Ардуино json api
Добрый день! Есть ардуино и датчик DHT11, есть ENC28j60 для ethernet. Чтобы отображать данные на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru