发表于: 2020-05-06 23:26:47
1 1808
今日完成
完成任务5
原生js
// 兼容性 创建全局变量
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onload = function () {
console.log(xmlhttp.responseText);
};
function getForm() {
var name, pwd, requestCode;
var user = document.getElementById("inputUser");
var pass = document.getElementById("inputPass");
// 获取输入信息
name = user.value;
pwd = pass.value;
// 表单验证
var flag = true;
if (name == "") {
user.parentNode.getElementsByClassName("blank-alert")[0].style.display =
"block";
pass.parentNode.getElementsByClassName("blank-alert")[0].style.display =
"none";
flag = false;
} else {
user.parentNode.getElementsByClassName("blank-alert")[0].style.display =
"none";
if (pwd == "") {
pass.parentNode.getElementsByClassName("blank-alert")[0].style.display =
"block";
flag = false;
} else {
pass.parentNode.getElementsByClassName("blank-alert")[0].style.display =
"none";
}
}
console.log(flag);
if (flag) {
// 发送请求
xmlhttp.open("POST", "/carrots-admin-ajax/a/login", true);
var par = "name=" + name + "&pwd=" + pwd;
// 添加头部信息
xmlhttp.setRequestHeader(
"Content-type",
"application/x-www-form-urlencoded"
);
// 发送参数
xmlhttp.send(par);
// 参数发送完成后执行函数
xmlhttp.onload = function () {
// 转换数据类型
var requestCode = JSON.parse(xmlhttp.responseText);
// 获取返回码
console.log(requestCode.code);
var message = document.querySelector(".message-alert");
if (requestCode.code == 0) {
message.innerHTML = "";
alert("登录成功");
} else if (requestCode.code == -5003) {
message.innerHTML = "该用户名不存在";
} else if (requestCode.code == -5004) {
message.innerHTML = "密码错误";
}
};
}
}
// 键盘监听
document.onkeydown = function (event) {
var e = event || window.event || arguments.callee.caller.arguments[0];
if (e && e.keyCode == 13) {
getForm();
}
};
jq
$(document).ready(function () {
// 登录点击事件
$("#loginSubmit").click(function () {
let name = $("#inputUser").val();
let pwd = $("#inputPass").val();
// 表单验证
let flag = true;
if (name == "") {
$("#inputUser").siblings().filter(".blank-alert").show();
$("#inputPass").siblings().filter(".blank-alert").hide();
flag = false;
} else {
$("#inputUser").siblings().filter(".blank-alert").hide();
if (pwd == "") {
$("#inputPass").siblings().filter(".blank-alert").show();
flag = false;
} else {
$("#inputPass").siblings().filter(".blank-alert").hide();
}
}
// 表单验证通过 则发送请求
if (flag) {
$.post(
// url
"/carrots-admin-ajax/a/login",
{
// 发送的参数
name: JSON.stringify(name),
pwd: JSON.stringify(pwd),
},
// 回调函数
function (data) {
var result = JSON.parse(data);
//
var message = document.querySelector(".message-alert");
//
console.log(result.code);
if (result.code == 0) {
message.innerHTML = "";
alert("登录成功");
} else if (result.code == -5003) {
message.innerHTML = "该用户不存在";
} else if (result.code == -5004) {
message.innerHTML = "密码错误";
}
}
),
"json";
}
});
//键盘事件
$("input").keydown(function (event) {
if (event.keyCode == 13) {
$("#loginSubmit").trigger("click");
}
});
});
nginx 本地配置
服务器端
简单学习使用postman进行本地测试
遇到的问题
本地测试正常,部署到服务器后发送post请求 404异常
很久没有找到问题所在 多次尝试修改nginx配置文件及js文件无果
postman测试结果也为404
无意间尝试重启服务器后正常
收获
对之前一直比较模糊的nginx配置有了更深的了解
了解正向代理,反向代理
正向代理 隐藏用户来源,服务器不知道谁发送的请求 多对一
反向代理 隐藏真正服务器 用户不知道真正服务器 一对多
理解跨域
出于安全的同源策略限制,请求url的协议、域名、端口需要相同,才能访问,
如今前后端分离,需要获取后端域下的数据,就产生了跨域问题
评论