Здравствуйте. Не могу понять в чем загвоздка. Пишу простую функцию, как на примере ниже:
function setCookie(val)
{
var arr = new Object();
$.ajax({
type: 'post',
dataType: 'json',
url: 'index.php',
data:
{
val: val,
query: 'set-cookie'
},
success: function(data)
{
// тут возвращается, как и должно, число и без массивов: 100
console.log(data);
// заношу в объект число, которое пришло с запроса
arr = { 'data': data };
}
});
// в итоге мне возвращается: Object {} undefined
console.log(arr, arr['data']);
return arr;
}
Значение теряются при занесении в объект. Как занести в объект то, что пришло с запроса? Вроде в верху создал нужную глобальную переменную, а результат никакой.
Promiseи функций-стрелок автору вопроса придется подключать полифилл и транслировать код с помощьюbabel. Хотя для решения проблемы достаточно вернуть из функцииsetCookieрезультат выполнения команды$.ajax(...), к которому во внешней среде так же можно приписать обработчик с помощью.thenhttp://api.jquery.com/deferred.then/ – qodunpob Aug 07 '16 at 02:56setCookie.then('...');не работает потому что должно бытьsetCookie(val).then('...');, а вообще рекомендую обратить внимание на мой комментарий выше. – qodunpob Aug 07 '16 at 09:58