Проблема использования $ .when () с действиями после публикации - PullRequest
2 голосов
/ 02 сентября 2011
Шаблон

when (). Then () в следующей ситуации:

$.when(setServerValue("true"))
    .then(function(){
        console.log('done setting new value');
        performSomeOperation();
    })
    .fail(function(){
        alert('server value not set!');
    });

var setServerValue = function(newValue){
    return $.post('http://myURL',{key:newValue});
};

Проблема здесь в том, что операции then или fail никогда не вызываются с помощью операции $ .post (). Я успешно использовал этот подход с операциями $ .get (), и если я правильно понимаю документы API (очевидно, нет), это также должно работать для операций $ .post.

Кто-нибудь может мне помочь с этим? Спасибо!

1 Ответ

2 голосов
/ 02 сентября 2011

Проблема в том, что setServerValue не определяется как функция при вызове.Поместите определение setServerValue над вызовом $ .when.

Рабочий пример: http://jsfiddle.net/petersendidit/JHkKG/

...