我编写了两个我希望合并为一个脚本的脚本。脚本1用于检查电子邮件和密码是否正确,它会显示成功消息"正确"它会让你登录。脚本2是我用来在localstorge中存储电子邮件和密码的方法
脚本1
$(document).ready(function(){
$("#form1").on('submit',function(event){
event.preventDefault();
data = $(this).serialize();
$.ajax({
type: "POST",
url: "log.asp",
data: data,
success: function(data) {
$('#log_msg').html(data);
var result = $.trim(data);
if(result==="Correct"){
window.location = 'source.asp';
}
}
});
});
});
脚本2
$(function() {
var
$email = $('#email'),
$password = $('#password'),
localEmail = localStorage.getItem("eaddress"),
localPwd = localStorage.getItem("pwd");
// SAVE VARIABLES TO LOCAL STORAGE
$('#form1').on('submit', function() {
localStorage.setItem("eaddress", $email.val());
localStorage.setItem("pwd", $password.val());
});
});
现在我想合并两者,如果成功消息相同,它应该只保存localstorge中的电子邮件和密码
到"Correct"
并登录
答案 0 :(得分:1)
从不存储未加密的密码!
要将电子邮件地址存储在localStorage中,您可以使用以下代码段:
(文档)$。就绪(函数(){ $("#form1中&#34)。在('提交',功能(事件){ event.preventDefault();
var data = $(this).serialize();
$.ajax({
type: "POST",
url: "log.asp",
data: data,
success: function(data) {
$('#log_msg').html(data);
var result = $.trim(data);
if(result==="Correct"){
localStorage.setItem('eaddress', $('#email').val());
}
}
});
}); });
注意:您必须自己清理localStorage。如果要存储数据以便进一步识别,请在cookie中使用sessionId,或使用sessionStorage保存临时数据。
修改:要在页面加载后提交表单,您可以尝试以下操作:
$(function(){
var eAddr = localStorage.getItem('eaddress');
if (eAddr !== null) {
$('#email').val(eAddr);
$('#form1').trigger('submit');
}
});
注意:如果您在客户端上存储加密的密码并通过表单提交,则身份验证过程安静不安全。
我认为您的身份验证设计有误。您应该使用身份验证cookie(如会话cookie)并在服务器端验证它。每次页面加载时都不提交表单,也不在客户端存储凭据。