Вы не можете вернуть результат, потому что он не определен к моменту завершения вашей внешней функции. Ваш AJAX-вызов происходит асинхронно, а функция обратного вызова вызывается после того, как происходит POST. Чтобы иметь дело с вашим результатом, вам нужно сделать что-то вроде этого:
function myjsfunc(some_data) {
$.post("/myscript.php", { some_data: some_data }, function(response) {
if (some_data.prop) {
myReturnHandler(response);
} else {
myOtherHandler(response);
}
}
);
}
Где вы будете определять myReturnHandler отдельно, и ему нужно будет знать, как принять обработку данных результата.
- отредактировано -
Вы также можете выполнить тесты, чтобы определить, как обрабатывать ваш ответ. Добавлен дополнительный код для демонстрации.