Slog35_支配vue框架初阶项目之博客网站-注册页面-展示注册结果

news/2024/4/28 2:29:47/文章来源:https://blog.csdn.net/weixin_34318272/article/details/88749766
  • ArthurSlog
  • SLog-35
  • Year·1
  • Guangzhou·China
  • Aug 11th 2018

关注微信公众号“ArthurSlog”

  • GitHub
  • 掘金主页
  • 简书主页
  • segmentfault

减少做一些“没脑子”的决定 学会用用宏观代替直观 用数据代替感受 用“慢思考”代替“快思考”


开发环境MacOS(High Sierra 10.13.5)

需要的信息和信息源:

  • HTTP概述
  • HTTP
  • 互联网是如何工作的
  • 万维网是如何工作的
  • 统一资源定位符(URL)
  • 什么是超链接
  • 创建超链接
  • AJAX是异步的JavaScript和XML(Asynchronous JavaScript And XML)
  • XMLHttpRequest
  • Using files from web applications

开始编码

  • 之前我们使用 vue.js 框架,同时参考了 webAPI
  • 然后在 js 文件里使用 XMLHttpRequest 对象
  • js 文件操作浏览器通过 http协议 向服务器传递用户输入的信息数据,这样实现了一个用户注册的功能
  • 服务端把客户端(浏览器)传送过来的数据,存储进数据库,然后给客户端(浏览器)返回一个执行结果
  • 本篇就是从服务端获取注册功能的执行结果,然后在页面上显示出来
  • 下面给出修改后的代码

signup.html

<!DOCTYPE html>
<html><head><meta charset="utf-8"><link rel="stylesheet" type="text/css" href="./css/style.css"><!-- 开发环境版本,包含了有帮助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><title>signup_ArthurSlog</title>
</head><body><div id="signup-container"><div>This is signup's page by ArthurSlog</div><p>Singup</p><form id="form" v-on:submit.prevent="addUser"><br><div>Account: {{ name }}<br><input type="text" v-model="name" placeholder="username"></div><br><br><div>Password: {{ password }}<br><input type="text" v-model="password" placeholder="password"></div><br><br><div>Again Password: {{ repassword }}<br><input type="text" v-model="repassword" placeholder="repassword"></div><br><br><div>First Name: {{ firstname }}<br><input type="text" v-model="firstname" placeholder="firstname"></div><br><br><div>Last Name: {{ lastname }}<br><input type="text" v-model="lastname" placeholder="lastname"></div><br><br><div>Birthday: {{ birthday }}<br><input type="text" v-model="birthday" placeholder="2000/08/08"></div><br><br><div><span>Sex: {{ currentSex }}</span><br><input type="radio" id="sex" value="male" v-model="currentSex"><label for="sex">male</label><br><input type="radio" id="sex" value="female" v-model="currentSex"><label for="sex">female</label></div><br><br><div><span>Age: {{ currentAge }}</span><br><select v-model="currentAge" id="age"><option disabled value="">Select</option><option v-for="age in ages">{{ age }}</option></select></div><br><br><div>Wechart: {{ wechart }}<br><input type="text" v-model="wechart" placeholder="wechart's name"></div><br><br><div>QQ: {{ qq }}<br><input type="text" v-model="qq" placeholder="12345678"></div><br><br><div>Email: {{ email }}<br><input type="text" v-model="email" placeholder="12345678@qq.com"></div><br><br><div>Contury: {{ contury }}<br><input type="text" v-model="contury" placeholder="China"></div><br><br><div>Address: {{ address }}<br><input type="text" v-model="address" placeholder="Guangzhou"></div><br><br><div>Phone: {{ phone }}<br><input type="text" v-model="phone" placeholder="138********"></div><br><br><div>Websize: {{ websize }}<br><input type="text" v-model="websize" placeholder="xxx.com"></div><br><br><div>Github: {{ github }}<br><input type="text" v-model="github" placeholder="Github's URl"></div><br><br><div>Bio: {{ bio }}<br><input type="text" v-model="bio" placeholder="This is the world~"></div><br><br><input type="submit" value="完成注册"></form><a href="./index.html">Return index's page</a><br><br><div>{{ commits }}</div></div><script src="./js/signup.js"></script>
</body></html>
  • 再看一下 js 文件

signup.js

var host = 'http://127.0.0.1:3000/signup?';var signup_container = new Vue({el: '#signup-container',data: {name: '',password: '',repassword: '',firstname: '',lastname: '',birthday: '',sexs: ['male', 'female'],currentSex: 'male',ages: ['1', '2', '3', '4', '5', '6', '7', '8','9', '10', '11', '12', '13', '14', '15', '16', '17', '18'],currentAge: '18',wechart: '',qq: '',email: '',contury: '',address: '',phone: '',websize: '',github: '',bio: '',commits: null},methods: {addUser: function () {var xhr = new XMLHttpRequest()var self = thisxhr.open('GET', host + 'name=' + self.name + '&password=' + self.password + '&firstname=' + self.firstname + '&lastname=' + self.lastname + '&birthday=' + self.birthday+ '&sex=' + self.currentSex + '&age=' + self.currentAge + '&wechart=' + self.wechart+ '&qq=' + self.qq + '&email=' + self.email + '&contury=' + self.contury+ '&address=' + self.address + '&phone=' + self.phone + '&websize=' + self.websize+ '&github=' + self.github + '&bio=' + self.bio, true)xhr.onload = function () {self.commits = xhr.responseText}xhr.send()}}})
  • 注意看到 html 文件里新添加的部分
<div>{{ commits }}
</div>
  • 我们根据 vue.js 框架,在这里双大括号里的 commits 与 js 文件里的 commits 相关联
  • 然后我们希望当服务端把执行结果 完整的 返回的客户端(浏览器)之后,把这个返回的值 赋予 commits 这个对象,然后重新渲染页面(vue.js 做的事情),这样我们在页面上就可以看到执行了结果了,也就知道注册是成功或者失败了
  • 当然,在这里,我们之前编写服务端代码的时候,在逻辑里写了“如果注册成功,返回‘Signup Successful!’这样的字符串”,所以,当注册成功的时候,我们在页面上看到的,就会出现 “Signup Successful!”
  • 现在,我们看下 js 文件里的改动:
methods: {addUser: function () {var xhr = new XMLHttpRequest()var self = thisxhr.open('GET', host + 'name=' + self.name + '&password=' + self.password + '&firstname=' + self.firstname + '&lastname=' + self.lastname + '&birthday=' + self.birthday+ '&sex=' + self.currentSex + '&age=' + self.currentAge + '&wechart=' + self.wechart+ '&qq=' + self.qq + '&email=' + self.email + '&contury=' + self.contury+ '&address=' + self.address + '&phone=' + self.phone + '&websize=' + self.websize+ '&github=' + self.github + '&bio=' + self.bio, true)xhr.onload = function () {self.commits = xhr.responseText}xhr.send()}
}
  • 其中,把 xhr.open() 这个函数执行完的返回值 赋予 self 这个对象
  • 然后,根据 webAPI,可知:
XMLHttpRequestEventTarget.onload 是 XMLHttpRequest 请求成功完成时调用的函数。callback 是请求成功完成时要执行的函数。它接收一个 ProgressEvent 对象作为它的第一个参数。this 的值(即上下文)与此回调的 XMLHttpRequest 相同。
  • 使用示例:

XMLHttpRequestEventTarget.onload

var xmlhttp = new XMLHttpRequest(),method = 'GET',url = 'https://developer.mozilla.org/';xmlhttp.open(method, url, true);
xmlhttp.onload = function () {// 处理取回的数据(在 xmlhttp.response 中找到)
};
xmlhttp.send();
  • ok,现在启动你的服务器(server路径下)
node index.js
  • 然后,打开浏览器,输入 127.0.0.1:3000,进入注册界面,填写完你的注册信息,点击“完成注册”按钮
  • 现在,在页面的最下端,应该出现了一行新的字符串,他代表了你刚刚的注册行为已经成功完成!
Singup Successful!
  • 至此,我们在使用 vue.js 框架的情况下,实现了 展示注册结果的功能。

欢迎关注我的微信公众号 ArthurSlog

ArthurSlog

如果你喜欢我的文章 欢迎点赞 留言

谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_837054.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在新浪云上传自己的网站(静态展示)

欢迎加入前端交流群交流知识获取视频资料&#xff1a;749539640 最近有小伙伴问我怎么在新浪云上传自己的本地页面&#xff1b;大家看教程吧&#xff01; 第一步&#xff1a;肯定是去注册账号了&#xff08;需要先注册微博账号&#xff0c;只能使用微博账号登录&#xff09; 注…

如果你的网站需要免费的 SVG 插图,一定不要错过 Undraw 这个网站

1. Undraw 如果你的网站需要免费的 SVG 插图&#xff0c;一定不要错过 Undraw 这个网站&#xff01; SVG 插图资源是海量的&#xff0c;本瓜下拉了十几、二十次都拉不完&#xff08;当然&#xff0c;搜索功能也是有的&#xff09;&#xff1b;并且&#xff0c;你还可以自定义…

关于flight_review自建站日志过大报错(413 Request entity too large)的问题

要改两个地方 第一个flight_review下的serve.py 第二个地方宝塔面板下的nginx配置文件

调优工具/技术网站

其实很多程序员最头疼的事情&#xff0c;就是找学习资料或面试题&#xff0c;这里&#xff0c;就给大家推荐一些&#xff0c;涵盖&#xff1a;4个算法网站&#xff0c;7个调优排错工具网站&#xff0c;4个问答社区&#xff0c;4个教程网站&#xff0c;4个代码协作平台&#xff…

网站做登录认证怎么做?

用户名 验证码 点击登录。 后台 验证 验证码 是否正确&#xff0c;如果ok ,返回给前端一个cookie ,cookie 里面可以存储用户的登录状态。 原来我以为 只要存储个 简单类似 status1 就ok 了&#xff0c; 实际上不是的。 如果这样存储&#xff0c;任何一个登录模拟器 都可以…

Https实验——配置web网站

web网站配置过程 //1.yum安装httpd服务程序 [rootlocalhost ~]# yum install httpd //查找相关配置文件&#xff08;主配置文件&#xff09; [rootlocalhost ~]# rpm -ql httpd|grep "/etc/.*.conf"//2.配置www服务器相关参数 //&#xff08;1&#xff09;观察主配置…

DIV+CSS写网站基本框架总结

DIV和CSS能写出千变万化的网页样式。很久很久以前就学过了&#xff0c;但感觉还是有必要小记一下&#xff01; 先来个基本框架 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd…

网站安全漏洞的产生分析、处理总结

1.Web网站程序编写中漏洞的形成分析、处理总结 目前国内的网络安全行业非常多&#xff0c;从金山、瑞星、江民等杀毒软件公司提供的面向个人电脑的杀毒软件及软件防火墙到面对服务器提供的硬件防火墙&#xff0c;技术都越来越成熟。可以说现在要突破硬件防火墙并不是一件容易的…

Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站

Python分布式爬虫打造搜索引擎 基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/ArticleSpider 未来是什么时代&#xff1f;是数据时代&#xff01;数据分析服务、互联网金融&#xff0c;数据建模、自然语言处理、医疗病例…

seo提交工具_阳江网站排名_SEO工具常用的有哪些大盘点,做SEO优化不再累

发布时间:2020-11-09 17:11:20现在的搜索引擎中&#xff0c;已经有大量的或免费&#xff0c;或付费的seo工具&#xff0c;总的来讲&#xff0c;可以分为几个大类&#xff0c;包括但不限于网站管理员工具&#xff0c;外链查询工具&#xff0c;seo综合查询工具&#xff0c;关键词…

gif图片生成器_这些有趣好玩的免费生成器网站,感觉能玩上一天

创作立场声明&#xff1a;自用推荐&#xff0c;免费网站前言嗨&#xff0c;大家好&#xff0c;我是默咖&#xff0c;一个白天写代码晚上写文章&#xff0c;偶尔做视频的渣渣&#xff01;最近有点懒洋洋&#xff0c;不想写产品的分享&#xff0c;毕竟拍照修图、写稿改稿有时候会…

网站评论功能数据库设计和开发

&#xff08;原文来自&#xff1a;http://blog.csdn.net/u010098331/article/details/51447144&#xff09; 本文主要分享在设计评论模块中的一些心得&#xff0c;希望对读者有些许帮助。 需求分析 现阶段评论做的最好的我想应该是网易新闻&#xff08;app&#xff09;里面的…

zblog 适合 大网站php,ZBLOG PHP网址导航主题 - 适合垂直领域轻便导航网站使用

老蒋在之前几年陆续有分享过几款基于ZBLOG PHP的导航主题模板&#xff0c;虽然并没有一直的升级更新&#xff0c;但是基本的功能还是足够用的。对于网址导航网站来说&#xff0c;最为重要的一点还是在于内容的更新&#xff0c;我们可以看到有一些个人网站导航或者行业导航&…

Python爬虫 爬取网站全部图片实战

一.获得图片地址 和 图片名称 1.进入网址之后 按F12 打开开发人员工具点击elemnts 2.点击下图的小箭头 选择主图中的任意一个图片 那我们这里点击第一个 图片 3.显示控制台 为了验证xpath是否正确 4.通过xpath获得a的href 和 title. (请放大看)我们看到 他提示的是有10个…

Python爬虫之如何抓取纯静态网站及其资源

遇到的需求 前段时间需要快速做个静态展示页面&#xff0c;要求是响应式和较美观。由于时间较短&#xff0c;自己动手写的话也有点麻烦&#xff0c;所以就打算上网找现成的。 中途找到了几个页面发现不错&#xff0c;然后就开始思考怎么把页面给下载下来。 由于之前还没有了…

用Python爬取网站的图片

爬虫这东西最早出现在我大学计算机网络的课程上面&#xff0c;我们当时的老师人很好&#xff0c;期末不笔试&#xff0c;他说这东西笔试没什么用&#xff0c;对于一个年纪比较大的老师来讲&#xff0c;能提出这种方式&#xff0c;实在难得。当时在考虑做一个与网络有关的东西好…

图片上传使用post_关于规范上传及使用网站图片的通知

由于各委员会在发布文章时没有按规定上传并使用图片&#xff0c;导致上传的图片得不到重复的利用&#xff0c;使工作效率不高&#xff0c;并浪费协会官方平台流量的问题&#xff0c;特发布本通知。请所有工作团队成员在发布新闻时按本通知要求执行。一、上传图片前要求图片在上…

html中怎么写导航栏线框,用CSS美化网站 -- 导航栏和输入框

在上一次用HTML做了一个简单的网站之后&#xff0c;小编决定用CSS来优化网站的结构并且**增添导航栏和输入框最终效果页面修改版大家可以看到在网页的左上方&#xff0c;新增加了导航栏&#xff0c;网页的左下方新增加了输入框。我们将一步一步说明这是如何实现的。导航栏CSS定…

网站云服务器清理,云服务器内存怎么清理

云服务器内存怎么清理 内容精选换一换您可以通过本节内容解决如下问题&#xff1a;用户在管理控制台执行弹性云服务器相关操作后出现异常&#xff0c;针对管理控制台提示的异常信息&#xff0c;应该如何处理&#xff1f;用户参见《弹性云服务器接口参考》调用云服务器相关的API…

网站全局变黑白灰!只需一行代码!

全国性哀悼&#xff0c;很多网站都变为灰色。 到底怎么设置的&#xff1f; 在CSS样式中添加 html {filter: grayscale(100%); } 网上很多资料都是下面这样设置的 html {filter: gray;filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale1);filter: grayscale…