Slog38_支配vue框架初阶项目之博客网站-单页-登陆和注册的跳转

news/2024/4/27 18:49:38/文章来源:https://blog.csdn.net/weixin_34124651/article/details/88754061
  • ArthurSlog
  • SLog-38
  • Year·1
  • Guangzhou·China
  • Aug 14th 2018

  • 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 框架来实现单页应用,在原来的页面上渲染出服务端返回的数据

client/app.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>signin_ArthurSlog</title>
</head><body><div id="signup-container"><template class="container" v-if="pagestate === '0'"><div>This is index's page by ArthurSlog</div><br><button v-on:click="signin_index">Signin</button><br><button v-on:click="signup_index">Signup</button></template><template id="Signin" v-else-if="pagestate === '1'"><div>This is signin's page by ArthurSlog</div><p>Singin</p><form id="form1" v-on:submit.prevent="signin"><br><div>Account: {{ name_signin }}<br><input type="text" v-model="name_signin" placeholder="username"></div><br><br><div>Password: {{ password_signin }}<br><input type="text" v-model="password_signin" placeholder="password"></div><br><input type="submit" value="登陆"></form><br><button v-on:click="return_index">ReturnIndex</button></template><template id="Signup" v-else-if="pagestate === '2'"><div>This is signup's page by ArthurSlog</div><p>Singup</p><form id="form2" 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><button v-on:click="addUser">addUser</button><br><button v-on:click="return_index">ReturnIndex</button><br></template><template id="returnResult" v-else-if="pagestate === '3'">{{ commits }}</template></div><script src="./js/signup.js"></script>
</body></html>
  • 修改的是下面这部分代码

client/app.html

<template id="returnResult" v-else-if="pagestate === '3'">{{ commits }}
</template>
  • 我们使用 vue.js 框架的模版语法 v-if,来判断渲染哪些部分
  • 其中通过 pagestate 来改变渲染逻辑

client/js/signup.js

var host = 'http://127.0.0.1:3000/';var signup_container = new Vue({el: '#signup-container',data: {name_signin: '',password_signin: '',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,pagestate: '0'},methods: {return_index: function() {this.pagestate = '0'},signin_index: function () {this.pagestate = '1';},signup_index: function () {this.pagestate = '2'},signin: function () {//当点击登陆的时候,在页面上渲染从服务端返回的数据,把其他的部分隐藏掉this.pagestate = '3'var xhr = new XMLHttpRequest()var self = thisxhr.open('GET', host + 'signin?' + 'name=' + self.name_signin + '&password=' + self.password_signin, true)xhr.onload = function () {self.commits = xhr.responseText}xhr.send()},addUser: function () {//当点击注册的时候,在页面上渲染从服务端返回的数据,把其他的部分隐藏掉this.pagestate = '3'var xhr = new XMLHttpRequest()var self = thisxhr.open('GET', host + 'signup?' + '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()}}
})
  • 现在,打开浏览器,输入 127.0.0.1:3000/app.html
  • 点击 signin 按钮,输入 账号: ArthurSlog 密码: ArthurSlog,正常执行,页面只会渲染服务端返回的数据结果
  • 至此,我们实现了登陆、注册的页面跳转。

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

ArthurSlog

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

谢谢

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

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

相关文章

推荐系统论文查找网站

NIPS:http://papers.nips.cc/ RESYS

针对博客园Blog的SEO(Search Engine Optimization – 搜索引擎优化)

作者&#xff1a;Dflying Chen &#xff08;http://dflying.cnblogs.com/&#xff09; 随着Web 2.0概念的发展以及Web上内容的不断丰富&#xff0c;搜索引擎逐渐成了Internet的统治者。毫不疑问的说&#xff0c;搜索引擎对您站点的重视程度&#xff08;排名高低&#xff0c;收录…

关于大型网站技术演进的思考(八)--存储的瓶颈终篇(8)

在开始本篇主要内容前&#xff0c;我们一起看看下面的几张截图&#xff0c;首先是第一张图&#xff0c;如下图所示&#xff1a; 这是一家电商网站的首页&#xff0c;当我们第一次打开这个首页&#xff0c;网站会弹出一个强制性的对话框&#xff0c;让用户选择货物配送的地址&am…

大型网站技术架构(五)网站高可用架构

2019独角兽企业重金招聘Python工程师标准>>> 网站的可用性&#xff08;Avaliability&#xff09;描述网站可有效访问的特性。 1、网站可用性的度量与考核 网站不可用时间&#xff08;故障时间&#xff09;故障修复时间点-故障发现&#xff08;报告&#xff09;时间点…

网站源服务器怎么安装,docker如何设置国内镜像源_网站服务器运行维护

centos如何关闭防火墙与端口_网站服务器运行维护centos关闭防火墙的方法&#xff1a;执行【systemctl stop firewalld.service】命令关闭&#xff1b;关闭端口的方法&#xff1a;执行【firewall-cmd --remove-port80/tcp --permanent】命令关闭。首先打开/etc/docker/daemon.js…

二代旅游网站CMS使用手册(七):网站优化推广管理

二代CMS旅游网站程序V1第七步&#xff0c;旅游网站的优化推广管理&#xff0c;登陆网站管理后台&#xff0c;依次点击【系统设置】—【网站优化管理】&#xff0c;如图所示&#xff1a; 第一个项目&#xff0c;是否开启伪静态&#xff0c;强烈建议选择是&#xff0c;伪静态对于…

记一次帮客户做SEO诊断:新站收录后优化一个月了,排名一直没上去

一、网站问题 新网站建设有一个多月了&#xff0c;一直在优化&#xff0c;但是网站一直没有排名&#xff0c;不知道什么原因。接下来针对这个网站分析一下原因。二、诊断分析 看一下网站的基础数据&#xff0c;如图&#xff1a;<可以看出来网站只有一个多月&#xff0c;但是…

网站与服务器对接,网站对接云服务器

网站对接云服务器 内容精选换一换一次完整的HTTP请求包括域名解析、建立TCP连接、发起请求、服务器接收到请求进行处理并返回处理结果、浏览器对HTML代码进行解析并请求其他资源&#xff0c;以及对页面进行渲染呈现。其中&#xff0c;HTTP的请求过程经历了用户本地客户端、客户…

网站性能测试

不同视角下的网站性能 1.用户视角 用户只管感受到的网站响应速度快还是慢。 2.开发人员视角 开发人员关注的是应用程序本身及其相关子程序的性能。 3.运维人员视角 关注基础设施性能和资源利用率。 性能的测试指标 1.响应时间 2.并发数 指系统能够同时处理请求的数目。 系统用户…

遍历网站的所有Url

网站的url分为很多种类&#xff1a;<a href"" />; <form action"" method"Get"/>;<link href""/>;<img src""/>;<script src""/> ;<frame src""/> 等等 难点&…

网站的安全登录认证设计[z]

From: http://www.williamlong.info/archives/823.html 用户登录是任何一个应用系统的基本功能&#xff0c;特别是对于网上银行系统来说&#xff0c;用户登录的安全性尤为重要。如何设计一个网站的安全登录认证程序&#xff0c;是本文主要讨论的问题。 静态密码存在着比较多的安…

15个网站用户体验优化禁忌

From&#xff1a;http://www.blueidea.com/design/doc/2009/6587.asp 对于一个界定明确的用户群体来讲&#xff0c;其用户体验的共性是能够经由良好设计的实验来认识到。 用户体验&#xff0c;英文叫做User Experience&#xff0c;缩写为UE或者UX。一种纯主观的在用户访问一个…

网站的表单验证

html代码&#xff1a;<form id"register_form" name"register-form" action"###" method"post"><label><input id"phone" name"phone" placeholder"您的手机号" tipMsg"手机号不能…

协助用户搜寻您的网站 { 创建一个OpenSearch }

From: http://www.cnblogs.com/jaic-xiao/archive/2008/07/31/xie_zhu_yong_hu_sou_suo_nin_de_wang_zhan_chang_cao_yi_ge_opensearch.html 导言 现代浏览器其中一个最美好的特点&#xff0c; Microsoft Internet Explorer 和 Mozilla Firefox 的浏览器右上角有一个搜索…

大型网站架构演变和知识体系【z】

From&#xff1a;http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html 之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详…

电子商务基础:中小企业建站方案和资源

From: http://www.williamlong.info/archives/2111.html 目前国内的中小企业数量已经有几千万家&#xff0c;但信息化建设却并不理想&#xff0c;拥有网站的只有不超过两百万家&#xff0c;数以千万计的中小企业存在电子商务需求&#xff0c;却没有自己独立的网站。现在&#x…

网站的MRD和PRD[z]

From: http://mearsen.blog.sohu.com/67881175.html 说到MRD&#xff0c;就不得不说一下PRD&#xff0c;也有朋友提到了这个问题&#xff0c;MRD和PRD有什么区别呢&#xff1f;如果大家看过中国产品经理联盟的第一期和第二期杂志&#xff0c;那么就应该知道MRD和PRD的区别和关系…

使用HttpWebRequest下载远程文件部分网站出现异常

今天使用HttpWebRequest方式编写了个从其它网站抓取资源的小工具。在测试过程中发现&#xff0c;有些网站会出现如下异常&#xff1a;服务器提交了协议冲突. SectionResponseHeader DetailCR 后面必须是 LF google一把找到不少相关资料&#xff0c;最终使用配置App.config方式…

给网站写一个JSON,并远程请求。

在使用json之前我们应该先了解一下什么是json&#xff1f; json全称JavaScript Object Notation&#xff0c;即js对象简谱&#xff0c; 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集&#xff0c;采用完全独立于编程语言的文本格式来…

刷网站关键字_磐安县网站SEO外包,360优化,热门

首页 > 新闻中心发布时间&#xff1a;2020-11-18 16:36:37 导读&#xff1a;万推霸屏为您提供磐安县网站SEO外包,360优化的相关知识与详情&#xff1a; 我相信所有的优化朋友都知道&#xff0c;网站优化的目的是优化百度。做外链很多人都会采用大型和问答平台这两种方式&…