-1

私はほとんど同じであるこの質問を見つけました:Javascriptの入れ子関数からの戻り値

問題は、関数がjQueryの関数に渡されること$.ajaxです。これが私が持っているものです:

function doSomething() {
    // Do some stuff here
    console.log(getCartInfo());
}

function getCartInfo() {
    var url = blog_location + '?reqCartData=1';

    $.ajax({
        url: url,
        type: 'get',
        success: function(data) {
            return data;  <------------- This
        }
    });
}

dataそれが理にかなっている場合は、doSomething関数に戻る必要があります。関数全体を返そうとしました$.ajaxが、オブジェクト全体が返されました。何か案は?

4

2 に答える 2

0

コールバック関数を送信します。

function getCartInfo(onSuccess) {
    var url = blog_location + '?reqCartData=1';

    $.ajax({
        url: url,
        type: 'get',
        success: function(data) {
            onSuccess(data);
        }
    });
}

getCartInfo(function(data) {
    console.log(data);
});
于 2013-03-08T12:19:41.080 に答える
0

これを試して

 function doSomething(date) {
    ........your data
}

function getCartInfo() {
    var url = blog_location + '?reqCartData=1';

    $.ajax({
        url: url,
        type: 'get',
        success: function(data) {
           doSomething(data);
        }
    });
}
于 2013-03-08T12:23:44.010 に答える