-1

我试图从回调函数中获取一个简单的“字符串”,但它仍然未定义。

这就是我想要做的:

我有一个 Ajax 调用,它得到一个“你好”的消息。->

function Func1(textConent, lineId) {

var op = "3";
var url = "../xxx/xxx.aspx";
var myReutn;

//id, lineId, place, textContent, summaryId

$.post(url, { url: url, op: op, lineId: lineId, textConent: textConent }, function (e) {

    myReutn = e;


});

return myReutn;

}

然后我尝试使用以下命令触发此功能:

var e = Func1(myText, lineId);

然后提醒“e”,但它仍然是“未定义”。这是为什么 ?

4

3 回答 3

2

除了其他答案之外,重组代码可能是一个好主意,以便您可以使用 JavaScript 的异步特性。

在您的回调函数中(在上面的代码中,您分配了变量myReutn),您可能希望调用一个函数,该函数在Func1.

于 2013-05-27T17:37:44.027 回答
0

异步$.post运行。_ 也就是说,它会在您启动它一段时间后完成,但您的代码不会坐在那里等待它发生。在您返回时,回调尚未运行。

于 2013-05-27T17:35:08.457 回答
0

$.post异步的,这意味着您的调用Func1将在实际的 HTTP 发布之前返回。一旦您的脚本完成,并且 HTTP 响应从帖子中返回,那么您的内联回调将运行。

于 2013-05-27T17:36:22.323 回答