作者jp956956 (储备里长伯)
看板Web_Design
标题[问题] firestore表单上传资料?
时间Fri Jan 25 21:45:13 2019
最近想自己做一个网站
因为firebase的太过复杂了
就想自己重新用一个
想用表单的形式把资料传到firestore资料库上面
不过网路教学都是只有教在网页上传递
或是直接在js档案里面写好发送上去
找不到网页上传过去的
就去回头参考firebase上传的方法
https://imgur.com/Wqrmdpf
https://imgur.com/Prc4M6D
看起来像是将资料写入表格之後
再由document.getelementbyID去抓资料内容
再发送上去资料库里
不知道他js的程式码要如何做解读?
firestore资料写入方法又跟realtime资料库不同
function storedata(type, name, actors) {
db.collection(type).doc(name).set({
actors: actors
});
}
我是想这样写
然後表单也是就资料丢过去让function载入
不过action就不知道要怎麽丢过去
感谢
--
台湾优质电视台
https://www.youtube.com/watch?v=zjGR32QyTkQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.171.113.13
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1548423918.A.E43.html
1F:推 rahit: action = "{你要送的网址}"01/25 22:11
2F:→ rahit: 然後input要给name 没记错form submit是抓name01/25 22:13
3F:→ rahit: 这样就能送了01/25 22:13
4F:推 rahit: 有跳转网页就是成功01/25 22:16
对 可是他官方档案是写# 不知道是什麽意思
我也有用网址丢过去资料库
不过没有成功储存 也没报错
不知道问题在哪里
是否跟资料库储存方式有关
※ 编辑: jp956956 (180.217.209.97), 01/25/2019 23:41:26
5F:推 rahit: 你应该先确定的是你问题是出在前端还是後端 01/25 23:51
6F:→ rahit: 一般来说,你如果有跳转就是成功送出,你也可以用F12的Netw 01/25 23:51
7F:→ rahit: ork确认你有没有送出,送出的值正不正确 01/25 23:51
8F:→ rahit: 如果确定送了,值也对,那就是後面的问题了,你可能要再研 01/25 23:51
9F:→ rahit: 究看看後面是哪边写错了或是其他状况 01/25 23:51
10F:→ rahit: 另外,你如果用网址送,那是用get方法给的值,而form submi 01/25 23:53
11F:→ rahit: t 是post 01/25 23:53
12F:→ rahit: 你可能需要先去了解两个的差别,并确定你的後端是要收哪一 01/25 23:53
13F:→ rahit: 种 01/25 23:53
14F:推 rahit: 抱歉,我好像搞错了什麽01/26 09:56
15F:→ rahit: 你能提供完整程式码或范例的网址吗01/26 09:56
16F:→ rahit: 我有点在意newPostForCurrentUser那个function的内容01/26 09:57
17F:推 art1: 因为 firestore 没有支援你想要的这种上传方式01/26 10:11
18F:推 art1: 用网址操作 firestore 资料库,需要用到 REST API,这要先01/26 10:15
19F:→ art1: 产生 token,才能进行後续的操作,会更复杂01/26 10:16
20F:→ art1: 用程式码读写资料库的前题是你要把表单内的资料先转成符合01/26 10:17
21F:→ art1: firestore 规范的形式01/26 10:19
22F:→ art1: 而不是直接透过表单的预设传输方式来上传01/26 10:20
23F:推 art1: 如果是我来写,会先写个函式把表单的资料都先存到一个物件内01/26 10:26
24F:→ art1: 然後把这个物件存到firestore01/26 10:27
26F:→ art1: 我看这个影片上传表单资料到 firebase,也是先存表单资料再01/26 10:38
27F:→ art1: 上传01/26 10:38
28F:推 art1: action 里面写 #,代表停留在本页面,只是网址後面会多一个#01/26 11:05
是 这个好像是写入即时资料库的写法
就是定义变数然後一个一个抓取
再一次传送上资料库
之前也是用这个方法上传资料
不过最近换成另一种资料库来做
可是firestore好像又不同
网路找的是我用的那个方法写入的
直接呼叫函式就可以丢上资料库了
※ 编辑: jp956956 (180.217.209.97), 01/26/2019 20:32:21
29F:推 art1: firestore 跟 firebase 即时资料库不同的是储存结构 01/27 02:11
30F:→ art1: 但都可以用呼叫函式的方式把资料上传资料库 01/27 02:12
31F:→ art1: 一样都有对上传的资料格式做限制 01/27 02:12