作者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/m.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