Проблема с JS jQuery AJAX - PullRequest
0 голосов
/ 27 октября 2010

У меня проблема с моим кодом.

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

    var ajax = $.ajax({
        url: "/wemi/mediaplaner/show?id="+aData[1],
        success:    function(data)  {
            //return data; 
            //return sOut = data;
            //console.log(sOut);
        },
        error:  function()  {
            //alert("Error");
        }
    });

    //document.write(ajax.responseText); //write empty Text
    console.log(ajax); //Real Object all is OK

    //console.log(ajax.responseText); get empty Text
    //alert(ajax.responseText); // get Empty Text
    return sOut;
}

Мне просто нужно напечатать ajaxed текст ... и, как вы видите, я получаю только неопределенный или пустой ответ.

но если я напечатал или предупредил в функции успеха, все в порядке, и я получил свой ответ ...

1 Ответ

4 голосов
/ 27 октября 2010

Вы уже нашли ответ.Вызов ajax асинхронный .Код в обработчике «success» будет выполнен после завершения HTTP-запроса.Однако сама функция $.ajax возвращается сразу после запуска запроса.

Правильный подход - поместить код в обратный вызов «success».(Или поместите вызов другой функции там.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...