使用回调访问ajax响应时遇到问题

时间:2015-10-02 22:57:39

标签: javascript jquery ajax

有人将这篇文章标记为重复。我该如何删除它?

我试图在变量中保存ajax响应。根据网上的几个搜索,例如this one,我无法弄清楚如何在变量中保留数据。我在浏览器控制台中使用以下代码进行了未定义。

function callbackrequest(data) {
    return data;
}
function getDataName () {
    $.ajax({
        url: "/search/data",
        type: "POST",
        success: function(data) {
            callbackrequest(data);
        }
    });
}


var responseData = getDataName();
console.log(responseData);

我验证了responseText包含我在使用return $.ajax时要查找的数据,但不知怎的,我无法将数据保留在responseData变量中。

我的解决方案

function callbackrequest(data, anotherdata) {
    // Code to process data from the arguments
}
function getDataName (anotherdata) {
    $.ajax({
        url: "/search/data",
        type: "POST",
        success: function(data) {
            callbackrequest(data, anotherdata);
        }
    });
}

$(document).on('click', '.add-submit', function(evt) {
    evt.preventDefault();
    var dataarray = $('.new-data select').serializeArray();
    var datajson = createJsonFormOutput(dataarray);
    datajson["customer_id"] = $('#id').val();
    var request = $.ajax({
        url: "/api/aedit",
        data: datajson,
        type: "POST"
    }).done(function(data) {
       var returncode = $.parseJSON(data);
       if (returncode.success === true) {
          getDataName(returncode); 
       } else {
           console.log(returncode);
       }
    });
});

0 个答案:

没有答案
相关问题