如何在另一个变量中捕获jquery ajax函数的返回值

时间:2018-04-16 11:00:29

标签: javascript

我希望存储一个由AJAX函数返回的值,这是我的代码,它在AJAX成功中表现良好,但是在存储那些未定义的数据时。

以下serviceNumber,我存储了enCrypt返回值

var serviceNumber = enCrypt(typeofServiceNumber);// when am catching the function data which is saying "undefined"

以下代码是我的ajax函数

function enCrypt(id) {
if (id > 0) {
    $.ajax({
        url: $("baseUrl").html() + "JobProfiles/Encryption",
        type: "POST",
        dataType: "json",
        data: { Id: id },
        success: function (encdata) {
                   return encdata; 
        },
        error: function (data) {
            $('#loading').hide();
        }
    });
}
}

你能帮助我知道我的代码有什么问题吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

你不能像这样使用return,因为函数是async +它是函数中的一个函数...所以实际上是的,你不能回到那里xD

做一些像:

enCrypt(typeofServiceNumber);

//and in your ajax:
success: function (encdata) {
                   go_on(encdata);
        },

//and then
function go_on(serviceNumber)
{
    //here you can use it :D
}

答案 1 :(得分:0)

只需添加

即可
 cache: false,
 async: false,

给你ajax功能

function enCrypt(id) {
var encnum;
$.ajax({
    url: $("baseUrl").html() + "JobProfiles/EncodeIds",
    type: "POST",
    cache: false,
    async: false,
    dataType: "Json",
    data: { Ids: id },
    success: function (encdata) {
        encnum = encdata;
    },
    error: function (data) {
        $('#loading').hide();
    }

    });
    return encnum;

}