【发布时间】:2010-10-15 10:27:32
【问题描述】:
我有一个js函数,在做了一些业务逻辑之后,javascript函数应该返回一些结果给另一个变量。下面的示例代码
var response="";
function doSomething() {
$.ajax({
url:'action.php',
type: "POST",
data: dataString,
success: function (txtBack) {
if(txtBack==1) {
status=1;
}
});
return status;
}
这里我想用like
response=doSomething();
我想分配一个返回值“status”“var response”。但是结果是'undefined'。
【问题讨论】:
-
已经在你的标题中得到了正确的措辞:return value。但是你没有在你的函数中使用
return;) -
请注意,如果这些值是虚假的(即空字符串),通常不需要使用值初始化新变量。你可以写: var response;在这种情况下,response 的值将被设置为未定义的值(这也是一个假值)。然后,当您想检查该值是否已设置时,您可以检查它是否为假...
-
@Felix:我在函数内部有一个 ajax 调用,它返回“未定义”。任何的想法?谢谢
-
在此处搜索有关此问题的 SO。这很正常。您不能从 Ajax 调用返回值,因为它是异步执行的,即
return语句在 Ajax 调用完成之前执行。你可以使用回调来解决这个问题... -
@Felix:嗨,我对代码做了一点改动,成功后,我只包含“async :false”....现在代码可以正常工作了:)跨度>
标签: jquery