Переделал на массив
var dat = ["a"];
$.post("image2.php",{},function(data){
dat["a"] = data;
},'json');
alert(dat['a']);
this.element=eval(dat["a"]);
Теперь хочу передать просто строку и уже создать объект вне этой функции...
Но со строкой тоже самое. без алерта эта конструкция попрежнему не работает