小编典典

如何从onreadystatechange = function()调用的函数中返回变量

ajax

我将ajax技术与php结合使用,我想知道如何从onreadstatechange调用的函数中获取返回变量。

一个Java函数称为onsubmit,然后调用一个php脚本来验证数据库中的某些内容,并根据结果返回true或false。

这是我遇到问题的地方,我希望onsubmit =“ return snappyajaxfunction()”根据php的结果返回false或true。

我的问题是,如何从stateChanged函数中获取false或true的结果,从而成为snappyajaxfunction的返回值。

我试着这样做:结果= request.onreadystatechange = StateChanged没有运气。

我也尝试过将responsetxt保存到全局变量,然后在snappyajaxfunction中返回该全局变量,但是没有运气。

snappyajaxfunction()
{

   request.onreadystatechange=stateChanged;         
   request.open("GET",url,true); 
   request.send(null);

   return result;
}

function stateChanged() 
{ 
    if (request.readyState==4)
    {   
       return request.responseText; 
    }       
}

编写脚本的目的是验证用户输入的用户名/密码以及存储在我的数据库中的用户名/密码。如果它们不匹配,则返回false,并且将不提交表单;如果提交,则将用户带到欢迎页面…


阅读 675

收藏
2020-07-26

共1个答案

小编典典

您可以这样做:

function stateChanged() 
{ 
    if (request.readyState==4)
    {   
       OnStateChanged(request.responseText);
    }           
}

OnStateChanged充当事件处理程序的函数在哪里…

编辑:在OnStateChanged您可以然后根据响应提交或不提交表格

EDIT2:在服务器上,当您检查u /
p时,如果他们是正确的,请正确登录用户并将状态返回给JavaScript。然后在JavaScript中,而不是重新提交表单,只要重新加载/重定向页面即可成功或显示警报,否则…

只是不可能通过函数中的异步操作从函数中返回某些东西……执行的原始线程早已消失了。异步操作由另一个线程执行(如果我没记错的话,请不要触发)。

谢谢

2020-07-26