Javascript 从类型为POST的ajax调用返回数据

Javascript 从类型为POST的ajax调用返回数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个post类型的ajax调用,我想使用return返回数据 我试过: function GetDataById(Id){ return $.ajax({ type: "POST", url: url, data: JSON.stringify({ ID: Id }), contentType: "application/json; charset=utf-8

我有一个post类型的ajax调用,我想使用return返回数据

我试过:

function GetDataById(Id){
    return $.ajax({
            type: "POST",
            url: url,
            data: JSON.stringify({ ID: Id }),
            contentType: "application/json; charset=utf-8",
            success: function (data, textStatus, jqXHR) {
                return data;
            },
            error: function (jqXHR, exception) {
                
            }
        });
}
function GetDataById(Id){
    $.ajax({
            type: "POST",
            url: url,
            data: JSON.stringify({ ID: Id }),
            contentType: "application/json; charset=utf-8",
            success: function (data, textStatus, jqXHR) {
                return data;
            },
            error: function (jqXHR, exception) {
                
            }
        });
}
我试过:

function GetDataById(Id){
    return $.ajax({
            type: "POST",
            url: url,
            data: JSON.stringify({ ID: Id }),
            contentType: "application/json; charset=utf-8",
            success: function (data, textStatus, jqXHR) {
                return data;
            },
            error: function (jqXHR, exception) {
                
            }
        });
}
function GetDataById(Id){
    $.ajax({
            type: "POST",
            url: url,
            data: JSON.stringify({ ID: Id }),
            contentType: "application/json; charset=utf-8",
            success: function (data, textStatus, jqXHR) {
                return data;
            },
            error: function (jqXHR, exception) {
                
            }
        });
}
我正在做的是:

(function(){
    const data = GetDataById(208);
    console.log(data);
})();
$.ajax()
返回承诺。如果要实现在调用后获取数据的函数,只需返回
$.ajax()
调用并使用promise的then和catch即可

function GetDataById(Id){
    return $.ajax({
            type: "POST",
            url: url,
            data: JSON.stringify({ ID: Id }),
            contentType: "application/json; charset=utf-8"
    });
}

(function(){
    GetDataById(208).then(data => console.log(data));
})();

这回答了你的问题吗
return
函数返回,它在内部-在您的情况下,这是
success:function()…
而不是外部
GetDataById
。有关更多详细信息,请参阅链接的问题/答案。这将放置在我需要的位置,并使用异步等待。谢谢你的指导