如何将ajax返回值设置为变量

JM4*_*JM4 3 php ajax jquery

我有以下成功执行的ajax调用:

function fnFormatDetails ( oTable, nTr )
   {
            var aData = oTable.fnGetData( nTr );

            var memberid = 'memberid='+ aData[6];

            $.ajax({
                type: "POST",
                url: "shout.php",
                data: memberid,
                success: function(html) {
                    //$("#shout").html(html);   
                    var sOut = html.returned_val;
                }
            });

            return sOut;
        }
Run Code Online (Sandbox Code Playgroud)

如果我删除注释掉的行($("shout").html(html)并在我的页面上使用div,结果显示正常.但是,还有第二个函数将使用来自sOut的HTML结果并相应地显示在适当的位置.

shout.php中的PHP文件只是"回显"HTML到页面(然后返回并相应地显示).

遗憾的是,我无法根据我的ajax调用结果设置变量sOut.我错过了什么?

Mat*_*ins 5

如果您希望函数返回AJAX调用返回的函数,则需要同步调用.此外,这是假设"shout.php"的结果是明文.如果是JSON或其他,则需要dataType在调用中设置属性$.ajax.

function fnFormatDetails ( oTable, nTr ) {
    var aData = oTable.fnGetData( nTr );
    var memberid = 'memberid='+ aData[6];

    var result;

    $.ajax({
        type: "POST",
        url: "shout.php",
        data: memberid,
        async: false,
        success: function(data) {
            result = data;
        }
    });

    return result;
}
Run Code Online (Sandbox Code Playgroud)