получение данных из функции и вывод их на другой странице

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: получение данных из функции и вывод их на другой странице

Сообщение Александр »

dr1emaver
А почему не в VK.api('places.getCityById' ?
И у тебя там из-за комментирования могли появится проблемы с лишними закрывающими скобками.
И
Почаще выводи данные, хотя бы алертом... Смотри где будут расхождения с твоим планом выполнения, в какой очередности, какие переменные теряются...
dr1emaver
Сообщения: 78
Зарегистрирован: 16 июл 2011, 20:08

Re: получение данных из функции и вывод их на другой странице

Сообщение dr1emaver »

а можешь привести пример на алерт ?
А почему не в VK.api('places.getCityById' ?
Немного не понял ..Всмысле почему не в getCityById
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: получение данных из функции и вывод их на другой странице

Сообщение Александр »

dr1emaver писал(а):а можешь привести пример на алерт ?

Код: Выделить всё

VK.api("getProfiles", {uids:viewer_id,fields:"photo_big,education,sex,bdate,city,country"}, function(data) {        // обрабатываем полученные данные        // выводим имя и фамилию в блок user_info        alert(1 + ' ' + data.response[0].city);        var city_temp;         VK.api('places.getCityById',{ cids: data.response[0].city},function(data){            city_temp = data.response[0].name;            alert(2 + ' ' + data.response[0].name);        /*    $.post('http://сайт.ру/profile.php',  // заменяем на адерс своего скрипта            { "viewer_id": viewer_id, "auth_key": auth_key,"city":city_temp},   // передаваемые значения            function(data){         // функция после выполнения передачи данных                $('#result').html(data); */// ЗАЧЕМ ОСТАВИЛ ЭТИ СКОБКИ???            });               });                                                $.post('http://сайт.ру/profile.php',  // заменяем на адерс своего скрипта            { "viewer_id": viewer_id, "auth_key": auth_key,"nameuser":data.response[0].first_name+' ' + data.response[0].last_name,"sex":data.response[0].sex,"bdate":data.response[0].bdate,"education":data.response[0].university_name + ' ' + data.response[0].faculty_name,"city":city_temp},   // передаваемые значения            function(data){         // функция после выполнения передачи данных                alert(3 + ' отправляем POST' + data.response[0].last_name);                $('#result').html(data);            });    });    });
dr1emaver писал(а):Немного не понял ..Всмысле почему не в getCityById
думал, что ты хочешь передать результат полученный методом getCityById.
dr1emaver
Сообщения: 78
Зарегистрирован: 16 июл 2011, 20:08

Re: получение данных из функции и вывод их на другой странице

Сообщение dr1emaver »

первые два алерта сработали и выдали верно " 1 1 " , " 2 Москва" , а вот третий нет, и почему то все равно не передает в скрипт "Москва" ..
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: получение данных из функции и вывод их на другой странице

Сообщение Александр »

dr1emaver
Учись тестировать!
Без остального своего кода проверь это

Код: Выделить всё

$.post('http://сайт.ру/profile.php', { "viewer_id": 1, "auth_key": '2',"nameuser":'3',"sex":'4',"bdate":'5',"education":'6',"city":'7'}, function(data){                $('#result').html(data);});
С Charles посмотри что отправляет и отправляет ли вообще. Потом постепенно добавляй свой другой код. Ищи из-за чего возникает проблема.
dr1emaver
Сообщения: 78
Зарегистрирован: 16 июл 2011, 20:08

Re: получение данных из функции и вывод их на другой странице

Сообщение dr1emaver »

Александр, это все понятно и отправляет хорошо, у меня проблема не в этом. Есть такой вот код:

Код: Выделить всё

VK.api("getProfiles", {uids:viewer_id,fields:"photo_big,education,sex,bdate,city,country"}, function(data) {         // обрабатываем полученные данные        // выводим имя и фамилию в блок user_info        var city_temp;     VK.api('places.getCityById',{ cids: data.response[0].city},function(data){        city_temp = data.response[0].name;        alert(1 + ' ' + data.response[0].name);                     });                                     alert(2 + ' ' + city_temp);        $.post('http://сайт.ру/profile.php',  // заменяем на адерс своего скрипта            { "viewer_id": viewer_id, "auth_key": auth_key,"nameuser":data.response[0].first_name+' ' + data.response[0].last_name,"sex":data.response[0].sex,"bdate":data.response[0].bdate,"education":data.response[0].university_name + ' ' + data.response[0].faculty_name,"city":city_temp},   // передаваемые значения            function(data){         // функция после выполнения передачи данных                $('#result').html(data);            });    });    }); 
На скрипт profile.php отправляются все переменные, кроме city.Есть заменить "city":city_temp на "city":data.response[0].city то будет отправляться id города, но мне нужно чтобы отправлялось имя города!Для этого я и вызываю функцию getCityById, чтобы получить имя города и присваиваю в city_temp.Но она его не передает.Первый алерт передает "Москва",второй алерт передает undefined
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: получение данных из функции и вывод их на другой странице

Сообщение Александр »

dr1emaver
так значит ты всё таки хочешь передать значение, полученное методом getCityById?
Тогда и отправляй post в той функции. Делай алерты, если не понимаешь как будет обрабатываться код.
dr1emaver
Сообщения: 78
Зарегистрирован: 16 июл 2011, 20:08

Re: получение данных из функции и вывод их на другой странице

Сообщение dr1emaver »

Александр писал(а):dr1emaver
так значит ты всё таки хочешь передать значение, полученное методом getCityById?
Тогда и отправляй post в той функции. Делай алерты, если не понимаешь как будет обрабатываться код.
Именно так, но проблема в том что нужно это значение передать вместе с остальными параметрами (education,sex,bdate и тд), а не по отдельности..
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: получение данных из функции и вывод их на другой странице

Сообщение Александр »

dr1emaver
Ну а если логику включить? Какие-то значения можешь записать в переменные. Или не всё записывать в data, а в data2 например... Только имя переменной логичное придумать.

Вот здесь например, http://flapps.ru/forum/topic3484.html - dataAppUsers и data.
dr1emaver
Сообщения: 78
Зарегистрирован: 16 июл 2011, 20:08

Re: получение данных из функции и вывод их на другой странице

Сообщение dr1emaver »

Александр писал(а):dr1emaver
Ну а если логику включить? Какие-то значения можешь записать в переменные. Или не всё записывать в data, а в data2 например... Только имя переменной логичное придумать.

Вот здесь например, http://flapps.ru/forum/topic3484.html - dataAppUsers и data.
Ну я так и делаю присваиваю результат функции getCityById переменной city_temp, но она к сожалению видна только в этой функции,т.е. когда я проверяю ее результат через алерт в функции getProfiles, пишет что NaN..
Хотя по идее все должно быть нормально.

Код: Выделить всё

 VK.api("getProfiles", {uids:viewer_id,fields:"photo_big,education,sex,bdate,city,country"}, function(data) {         // обрабатываем полученные данные        var city_temp; VK.api('places.getCityById',{ cids: data.response[0].city},function(data2){        city_temp = data2.response[0].name;            });        alert(1 + city_temp);   $.post('http://сайт.ру/profile.php',  // заменяем на адерс своего скрипта            { "viewer_id": viewer_id, "auth_key": auth_key,"nameuser":data.response[0].first_name+' ' + data.response[0].last_name,"sex":data.response[0].sex,"bdate":data.response[0].bdate,"education":data.response[0].university_name + ' ' + data.response[0].faculty_name},   // передаваемые значения            function(data){         // функция после выполнения передачи данных                        $('#result').html(data);            });    }); 
Ответить