我将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,并且将不提交表单;如果提交,则将用户带到欢迎页面…
您可以这样做:
function stateChanged() { if (request.readyState==4) { OnStateChanged(request.responseText); } }
OnStateChanged充当事件处理程序的函数在哪里…
OnStateChanged
编辑:在OnStateChanged您可以然后根据响应提交或不提交表格
EDIT2:在服务器上,当您检查u / p时,如果他们是正确的,请正确登录用户并将状态返回给JavaScript。然后在JavaScript中,而不是重新提交表单,只要重新加载/重定向页面即可成功或显示警报,否则…
只是不可能通过函数中的异步操作从函数中返回某些东西……执行的原始线程早已消失了。异步操作由另一个线程执行(如果我没记错的话,请不要触发)。
谢谢