ZhangYang's Blog

【实战】js+Leancloud实现留言板

简单的一个拥有数据库增删改查的留言板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<!-- 存储服务 -->
<script src="//cdn.jsdelivr.net/npm/leancloud-storage@3.15.0/dist/av-min.js"></script>
<!-- 即时通讯服务 -->
<script src="//cdn.jsdelivr.net/npm/leancloud-realtime@4.3.1/dist/realtime.browser.min.js"></script>
</head>
<body>
<section id="message">
<ul id="content"></ul>
<form id="myForm">
<label>姓名:<input type="text" name="name"></label>
<label>留言:<input type="text" name="remark"></label>
<input type="submit" value="提交">
</form>
</section>
<script>
// 初始化leancloud
var APP_ID = 'baTF3mT0Ybt7NcGffQphNKDW-gzGzoHsz';
var APP_KEY = '02G0rMK0z1bMwV1mvUhOIRpi';
AV.init({
appId: APP_ID,
appKey: APP_KEY
});
// 提交获取数据
myForm.addEventListener("submit", function (e) {
e.preventDefault()
var remark = document.querySelector("input[name='remark']").value
var name = document.querySelector("input[name='name']").value
var TestObject = AV.Object.extend('message')
var testObject = new TestObject()
testObject.save({
remark:remark,
name:name
}).then(function (testObject) {
var li = document.createElement("li")
li.innerText = `${testObject.attributes.name}:${testObject.attributes.remark}`
var ul = document.querySelector("#content")
ul.appendChild(li)
document.querySelector("input[name='remark']").value = ""
document.querySelector("input[name='name']").value = ""
})
})
// 获取所有数据
var query = new AV.Query('message');
query.find().then(function (remarks) {
var aRemark = remarks.map(function(v){return v.attributes})
aRemark.forEach(function(v){
var li = document.createElement("li")
li.innerText = `${v.name}:${v.remark}`
var ul = document.querySelector("#content")
ul.appendChild(li)
});
});
</script>
</body>
</html>