node day1 login
https://blog.csdn.net/weixin_33901641/article/details/85967847 vue之node.js的简单介绍
http://nodejs.cn/
http://www.runoob.com/nodejs/nodejs-express-framework.html
cmd ->
node -v
npm -v
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<title>Title</title>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<style>
span{
color: rgb(, , );
}
</style>
</head>
<body>
<div>
<form action="" method="post">
<p>用户名:<input type="text" placeholder="username" id="username"></p>
<p>密码:<input type="password" placeholder="password" id="password"></p>
<input type="submit" value="提交" onclick="login()">
<span></span>
</form>
</div>
<script>
function login() {
var username = $("#username").val();
var password = $("#password").val();
var url = "http://localhost:8080/login";
console.log(username,password);
$.post(url, {username,password}, function (response) {
console.log(response);
if (response){
alert("登陆成功")
}else{
alert("登录失败")
} }) } </script>
</body>
</html>
server.js
var express = require("express"); //引用包 npm install express --save
var query = require("querystring");
var app = express(); //初始化
app.listen("",function () { //监听
console.log("服务已经启动,端口是8080")
});
var data2="";
app.post(
'/login',
function (request,response) {
response.header("Access-Control-Allow-Origin", "*");
request.on("data",function (datas) { //接收用户发来的数据,里面的data是不变的,就得叫data
data2 = "";
// console.log(datas) ; //<Buffer 75 73 65 72 6e 61 6d 65 3d 26 70 61 73 73 77 6f 72 64 3d
// >这样打印的结果是Buffer 类型的,所以我们得拼接一下,用querystring这个模块转成字符串
data2+=datas;
});
request.on("end",function () { //接收用户发来的数据之后开始解析
console.log(query.parse(data2)); //{ username: '海燕', password: '123' }
var username = query.parse(data2).username;
var password = query.parse(data2).password;
if (username == "海燕" && password == ""){
response.send(true)//如果登录成功就把数据返回给前端
}else{
response.send(false)
}
})
}
);
直接运行html
node day1 login的更多相关文章
- Day1 login
使用流程: 1.程序启动后,显示欢迎信息,提示用户输入用户名: 2.判断用户是否存在,不存在则提示重新输入,或者关闭程序:客户存在则提示客户输入密码: 3.判断密码是否正确,如果不正确则提示用户重新输 ...
- day1作业--登录入口
作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...
- 关于js封装框架类库之DOM操作模块(二)
上一篇基本实现了框架结构,但是与真正能用上的项目框架比较还是存在很多不足,在这又做了些加强与优化 (function ( window, undefined ) { var arr = [], pus ...
- 用户名密码登录小程序及input与raw_input区别。
一.此次程序需要实现: 1.设定固定的用户名密码 2.用户名密码输入正确打印登录正确信息 3.仅仅运行三次登录 二.本次使用的python版本为: Windows下版本号: C:\Users\dais ...
- linux 平台实现 web 服务器的自动化发布 (纯shell 版本,存在ssh 不能自动退出问题,待解决)
转至:https://www.cnblogs.com/vmsky/p/13824172.html 背景说明 1.集团OA系统上线,web App 部署在6台服务器中,因项目初期,每次更新都需要进行大量 ...
- babeljs源码
babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...
- node基础 day1
js为什么能在浏览器中运行 浏览器内部存在一个js解析器,解析ECMAscript 把引擎从浏览器中抽离出来,不再依赖浏览器,作为一个软件安装在电脑上,在命令行里面, 这个软件就是node node ...
- Node.js(day1)
一.什么是Node.js Node.js Everywhere 我们可以从官网的介绍来分析:node中文网 | node引文网 Node.js® 是一个基于 Chrome V8 引擎 的 JavaSc ...
- [Node] Stateful Session Management for login, logout and signup
Stateful session management: Store session which associate with user, and store in the menory on ser ...
随机推荐
- 【Entity Framework】disable automatic migration, 执行update-migration仍然会显示有automatic migration
本文涉及的相关问题,如果你的问题或需求有与下面所述相似之处,请阅读本文 [Entity Framework] disable automatic migration, 执行update-migrati ...
- easyUI使用dailog实现弹出框带表单功能
本文为博主原创,未经允许不得转载: 示例如下: 需要注意的地方在id为win的div中需要有:closed="true"这个属性,这个属性为控制dailogn对话框显示与隐藏的属性 ...
- 组合,多态与多态性,封装以及property装饰器介绍
一:组合: 什么是组合:组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象. 为何要用组合:通过为某一个对象添加属性(属性的值是另外一个类的对象)的方式,可以间接地将两个类关联/整合/组合 ...
- Retrofit2
导入项目,开启服务端 原文链接 我的Demo AndroidStudio导入会出现无法加载主类 解决办法: 1.选择自己的Jdk路径 2.运行配置,试试来回切换几次,最后选择Default就好了.再直 ...
- 机器学习之决策树_CART算法
目录 3.CART算法(classification and regression tree tree) 3.1 CART生成算法(回归树生成和分类树生成) 3.2 CART剪枝 决策树基本知识参考, ...
- input 标签的 disabled 和 readonly 属性
首先这两种属性都会使显示出来的文本框不能输入. disabled 属性:规定禁用 input 元素.被禁用的 input 元素既不可用,也不可点击和编辑,使用 tab 键时将会被跳过,用户的所有操作对 ...
- MapRedcue的demo(协同过滤)
MapRedcue的演示(协同过滤) 做一个关于电影推荐.你于你好友之间的浏览电影以及电影评分的推荐的协同过滤. 百度百科: 协同过滤简单来说是利用某兴趣相投.拥有共同经验之群体的喜好来推荐用户感兴趣 ...
- 创建多线程的第二种方法实现Callable接口
1.实现Callable接口,重写call方法,有返回值 2.通过实现Callable接口创建的线程只能在线程池中使用. 3.返回值就是run方法返回的对象 4.通过future.get()可以获取到 ...
- iTerm2 + oh my zsh +agnoster 打造最强Mac终端
链接: http://www.siguoya.name/pc/home/article/256 http://www.jianshu.com/p/fabd40cf83fe http://www.jia ...
- python-基础数据类型,集合及深浅copy
一 数据类型定义及分类 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区 ...