我的代码有问题。
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文本......正如你所看到的那样,我只会得到一个无限制或空洞的回应。
但如果我在成功功能中打印或提醒,一切都很好,我得到了我的回复......
答案 0 :(得分:4)
你已经发现了答案。 ajax调用是异步。当HTTP请求完成时,将执行“success”处理程序中的代码。但是,$.ajax
函数本身在启动请求后立即返回。
正确的方法是将代码置于“成功”回调中。 (或者把呼叫转到那里的其他功能。)