Вам нужно либо использовать синхронный ajax-запрос (не типичный или не рекомендуемый) и записать данные в переменную во внешней области видимости, либо выяснить, как управлять данными в функции обратного вызова. Проблема в том, что функция ajax возвращается до завершения вызова ajax - она асинхронна.
Синхронный путь:
function getCacheImage(direction) {
var capture;
jQuery.ajax({
url: json_request_string,
aSync: false,
success: function(data) {
capture = data;
}
});
return capture;
}
Типично, с использованием обратного вызова
function getCacheImage(direction,callback) {
jQuery.ajax({
url: json_request_string,
success: function(data) {
callback( data );
}
});
}
getCacheImage('left', function(data) {
...do something with the data...
}