我在jQuery中得到函数未定义错误,即使函数已定义

时间:2014-09-12 19:33:34

标签: javascript jquery ajax

这是我在代码中通过ajax从控制器获取会话信息的内容。

function getMySession() {
    $.ajax({
        url: 'ajax-get-actual-session',
        type: 'POST',
        dataType: 'json',
        success: function(response) {
            return response;
        }
    });
}

getMySession()
.done(function(r) {
    if (r) {
        alert(JSON.stringify(r));
    } else {
        alert('bad');
    }
})
.fail(function(x) {
    alert('even worse');
});

但我在Firefox控制台中遇到错误:

TypeError: getMySession(...) is undefined

但是,我已经在我的代码中定义了它。这是为什么?我做错了什么?

任何想法,我如何使这段代码有效?

1 个答案:

答案 0 :(得分:2)

您需要退回承诺

function getMySession() {
  return $.ajax({ ...