Функция $.post не возвращает данные, она загружает страницу.
Внутри этой функции данные доступны. Чтобы сделать и доступными для других функций необходимо сохранить данные в замыкании:
- объявляете переменную Х вне функции $.post
- в функции $.post после получения данных и их обработки сохраняете данные в объявленную переменную Х
- используете переменную другой функцией, которая в "видит" переменную Х
Код не привожу т.к. тут возможны варианты реализации, главное - принцип понять.
Или вариант такой:
function getPaper()
{
var data;
$.post(
"site/default/getpaper", {
id : $('#calc-paper').val()
},
function (res) {
data = jQuery.parseJSON(res);
}
)
return data;
}