Access json data outside of $.getJSON()

后端 未结 3 1955
南笙
南笙 2021-01-02 22:48
$(document).ready(function () {
    var value = getParmsVals()[\"search\"];
    $.getJSON(\'/api/search/GetQuestionByKey/\' + value, function (jsonData) {
        $(         


        
3条回答
  •  情深已故
    2021-01-02 23:01

    You wouldn't return from an async method, as you can see, it doesn't work! What you need is a callback function, consider:

    function getAuthorName(userId, callback) {
        var fullname = "default";
        $.getJSON('/api/search/GetUserById/' + userId, function (jsonData) {
            fullname = jsonData.firstname + " " + jsonData.lastname;
            callback(fullname);
        });
    }
    

    Notice how we pass in callback and then call it at the end of your get call? Now call this method like so:

    getAuthorName(userID, function(name) {
        console.log(name);
    });
    

    And now you have access to fullname in that callback function!

提交回复
热议问题