при таком строении кода может и не работать.... ведь ajax-запрос асинхронный, а значит не известно какой из двух выполниться раньше.... потому еще, может, первый не выполниться, а второй уже просить данные о городе... сделай второй запрос в отдельную функцию, например, и ее вызывай после ответа с первого запроса...
примерно так:(не проверял...)
Код: Выделить всё
var city_id; VK.api("users.get", {uids:viewer_id,fields:"city, bdate"}, function(data) { city_id = data.response[0].city; getById();}); function getById() { VK.api("getCities", {cids:city_id}, function(data) { document.getElementById('user_info1').innerHTML = data.response[0].cid + ' ' + data.response[0].name + '<br />'; });}