按下登录按钮后,它会将整个error.html文件打印到Web控制台,而不是重定向到userhome.html,这有点出错,欢呼!一切的代码都在......
的Python:
foreach($valid_files as $res){
$zip->addFile($res);
}
JS:
<script type="text/javascript" language="JavaScript">
function load() {
var abc= document.getElementById('review_button');
abc.disabled = false;
//alert("load event detected!");
}
window.onload = load;
</script>
答案 0 :(得分:0)
输入正确的用户凭据后,会将重定向到/UserHome
。
您可以通过查看看起来像这样的请求日志来确认:
127.0.0.1 - - [28/Apr/2016 22:27:59] "POST /ValidateLogin HTTP/1.1" 302 - 127.0.0.1 - - [28/Apr/2016 22:27:59] "GET /UserHome HTTP/1.1" 200 -
您可以看到/ValidateLogin
生成的$.ajax()
的POST请求已被回复,其中302重定向到/UserHome
,然后$.ajax()
跟随。这会自动发生,因此您的javascript无法对重定向执行操作。
参考this answer,一种解决方案是让您的服务器发送一个JSON响应,其中包含一个“位置”URL,以便在登录成功时重定向到该位置。然后让success()
处理程序使用window.location.replace(location)
重定向浏览器。
如果登录失败,那么从error.html
模板呈现的HTML可以在不同的JSON项中返回,success()
处理程序(因为您现在应该总是得到200响应)用于设置文档内容。检查引用的答案以获取一些代码,以显示如何在客户端处理它。