.ajax関数自体以外の場所でデータ変数(ajax呼び出しによって返される情報)を使用できないという、かなり奇妙な問題です。
これは範囲の問題であると確信していますが、それは私を超えており、あらゆる指針に感謝するでしょう。
$('img#test').live('click', function(e) {
e.preventDefault();
var test = getPreviewImage();
alert(test); // This just gives undefined
});
function getPreviewImage()
{
var output;
var img_bg = $('div#preview-1 img:nth-child(1)').prop('src');
var img_fg = $('div#preview-1 img:nth-child(2)').prop('src');
$.ajax({
url: "/blah.php?v=12345,
}).done(function (data) {
alert(data); // This gives the correct response
output = data; // This should take the data value but still be in scope for the return statement below
});
return output;
}