当前位置: 首页 > 面试题库 >

Javascript AJAX函数返回undefined而不是true / false

杭胜
2023-03-14
问题内容

我有一个发出AJAX调用的功能(通过jQuery)。在本complete节中,我有一个函数说:

complete: function(XMLHttpRequest, textStatus)
{
    if(textStatus == "success")
    {
        return(true);
    }
    else
    {
        return(false);
    }
}

但是,如果我这样称呼它:

if(callajax())
{
    //  Do something
}
else
{
    // Something else
}

第一个永远不会被调用。

如果将an alert(textStatus)放入complete函数中,则为true,但在该函数返回之前不会为true undefined

可以将回调函数传递给我的callajax()方法吗?喜欢:

callajax(function(){// success}, function(){// error}, function(){// complete});


问题答案:

complete是一个 回调 函数。它将由Ajax对象调用-异步!-操作完成时。您无法捕捉回调的结果,只有Ajax对象可以做到这一点。

您的callajax()函数-您没有显示该函数,但我认为它只是使Ajax调用-
无法返回该调用的结果(=响应头和正文),因为退出该callajax()函数时该调用尚未完成。

更新:
也很可能使同步AJAX调用。感谢@Andris指出这一点。在jQuery中,您需要将async选项设置为false:Docs
here。但是,就我所知,即使是那些使用标准回调函数的函数,因此您所需的return
false或方法true仍然可能不起作用。



 类似资料:
  • 问题内容: 这怎么可能? 这是 您会看到它应该在这里: 到底是怎么回事? 问题答案: (此答案中的代码已针对Swift 3及更高版本进行了更新。) 显然,您的变量是a (描述文件路径)。要以字符串形式获取路径,请使用属性,而不是: 以字符串格式(包括方案等)返回URL 。 例:

  • 问题内容: 如果某些列返回FALSE,如何显示不同的值, 例如, COLUMN“ BASIC”返回FALSE,但我需要为用户显示YES或NO。情况为FALSE,请返回NO。 问题答案: 如果是varchar或bit,则处理NULL 或者如果只是一点点 编辑:

  • 所以我正在尝试制作一个程序,它将使用HashMap计算一个唯一单词出现在一个小文件中的次数。但是,当我尝试通过在我的HashMap上使用. get(key)来增加重复单词的计数时,它返回true而不是我想要转换为的整数值。如何让我的代码返回值而不是布尔值?这是我到目前为止的代码: 我的FindCommons类: 导入java。util。ArrayList;公共类FindCommons{ }

  • 问题内容: 据我所知,使用或实例化对象分别返回或的新实例。具有 新标识 的新实例对象。 在我实际测试它之前,这对我来说是很清楚的,我注意到它实际上返回了而不是预期的: 如预期的那样,分别使用和创建对象时,也会表现出这种行为: 我可以在状态文档中找到唯一相关的信息: […]例如,return和return 。 如果未提供任何参数,则构造函数将创建一个新的空元组。 可以说,这不足以回答我的问题。 那么

  • 无论如何,这个公式是否可以修改为返回,例如:找到单词“哇”,并将该单词返回到单元格中,而不是true/false? 谢谢。

  • 伙计们,我正在写一个资源管理器,它可以管理不同类型的资源。资源可以是整数或一些自定义类型。所以,我定义了这样一个接口: 此接口的实现者之一管理“int”类型的资源。因为我做不到: 我最终做了: 注意:使用了“整数”而不是“整数”。 我有一段这样的代码: 函数internalToExternal()返回“int”而不是“Integer”。 问题:1.是否有从“int”到“Integer”的自动转换?