博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为网页添加留言功能
阅读量:6293 次
发布时间:2019-06-22

本文共 2679 字,大约阅读时间需要 8 分钟。

在网页添加一个留言板功能主要分为以下几个流程:

  • 引入LeanCloud
  • 获取留言内容(网页中写入的留言内容)
  • 保存留言内容到后台服务器
  • 创建历史留言,获取到服务器保存的所有留言内容,读取并写入网页中
  • 封装代码 MVC

LeanCloud 介绍

  • 一个自带数据库和增删改查(CRUD)功能的后台系统。

拥有:

1.登录注册、手机验证码功能(收费)

2.存储任意信息

3.读取任意信息

4.搜索任意信息

5.删除任意信息

6.更新任意信息

等功能。

实现过程

  1. 引入LeanCloud

通过接入一个服务器,这里用到的是leancloud,一个免费的服务器网站

在html中创建留言板相关的<form>表单,以及留言列表<ol>新建一个message.js文件,引入leanCloud服务器,用于存储历史留言内容. . 初次使用的时候需要做一些配置工作, 主要流程包括:

注册账号→创建应用→产看帮助文档→安装与引用SDK→初始化代码→写入调试代码

前面4个步骤比较简单,根据网站上的提示就可以完成. 网站提供的初始化代码之后的工作比较花费时间,需要将初始代码放到自己的项目中并且添加调试代码. 以下是调试代码:

var TestObject = AV.Object.extend('TestObject');var testObject = new TestObject();testObject.save({  words: 'Hello World!'}).then(function(object) {  alert('LeanCloud Rocks!');})复制代码

执行这一段代码之后,就可以在服务器后台看到以下信息:

留言功能主要依赖这一串代码.

因此需要做的就是将留言版的内容写入到testObject.save()

  1. 获取留言内容

loadMessages: function () {      this.model.fetch().then((messages) => {        let array = messages.map((item) => item.attributes)        array.forEach(function (item) {          let li = document.createElement('li')          let messageList = document.querySelector('#messageList')          li.innerText = `${item.name}:${item.content}`          this.messageList.append(li)        });        return AV.Object.saveAll(messages);      })复制代码
saveMessages: function () {      let myform = this.form      let content = myform.querySelector('input[name="content"]').value       //留言内容      let name = myform.querySelector('input[name="name"]').value             //留言内容      this.model.save(name, content)                                          //保存留言内容          },    复制代码

获取到留言板中的内容并写入变量content,name中,this.save()函数负责将这两个变量的值上传到服务器,然后将留言内容写入html中<li>

  1. 保存留言内容
save: function (name, content) {      let Message = AV.Object.extend('Message');      let message = new Message()      return message.save({        'content': content,        'name': name,      })复制代码

这段代码执行之后浏览器内容就会保存到服务器上.

  1. 创建历史留言
loadMessages: function () {      this.model.fetch().then((messages) => {        let array = messages.map((item) => item.attributes)        array.forEach(function (item) {          let li = document.createElement('li')          let messageList = document.querySelector('#messageList')          li.innerText = `${item.name}:${item.content}`          this.messageList.append(li)        });        return AV.Object.saveAll(messages);      })复制代码
saveMessages().then(function (object) {    let li = document.createElement('li')    let messageList = document.querySelector('#messageList')    li.innerText = `${object.attributes.name}:${object.attributes.content}`    messageList.append(li)    content = myform.querySelector('input[name="content"]').value = ''  })复制代码
复制代码

转载于:https://juejin.im/post/5b0cee39f265da090a008220

你可能感兴趣的文章
Android中获取屏幕的宽和高
查看>>
ACL访问控制列表
查看>>
Lync Server 2010迁移至Lync Server 2013故障排错Part1:缺少McsStandalone.msi
查看>>
域控制器建立教程
查看>>
RHCE 学习笔记(20) ACL
查看>>
Django 和 Ajax 简介
查看>>
Qt的一个颜色选取按钮QColorButton
查看>>
perl 散列数组
查看>>
puppet之service管理
查看>>
Exchange2010server证书申请及分配服务
查看>>
Cassandra 处理客户端请求
查看>>
[WinApi]邮槽通信C/S实例
查看>>
linux NFS配置:NFS相关概念及其配置与查看
查看>>
需求转化到文档维护
查看>>
IIS 6.0安全增强
查看>>
使用Silverlight 2实现水中倒影效果
查看>>
aria2下载工具命令行和图形化界面使用
查看>>
SWT事件的四种写法
查看>>
AI算法透明不是必须,黑箱和可解释性可简化为优化问题
查看>>
生产环境一个like模糊匹配SQL优化
查看>>