[問題] 利用ajax讀取檔案

看板Web_Design作者 (親愛的偏執狂)時間8年前 (2017/02/17 01:15), 8年前編輯推噓2(2016)
留言18則, 5人參與, 最新討論串1/1
我是Front-end新手,目前正準備用github來架靜態網站。 目的是要讓server讀取server端的檔案。 我現在遇上一個問題, 我想用ajax去讀取server端不同資料夾的檔案, 不過我對某個資料夾位置發出請求後會回傳404。 我現在的想法是 1. 在每個資料夾中新增一個回覆request的網頁,並用XML或是JSON回傳檔案資料 2. 每次都發單一檔案的request,直到檔案找不到。 3. 放棄ajax,直接在server端用js讀取server端的檔案。 想請問版友們是否還有好的做法?感謝板友。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.25.166 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1487265311.A.1AC.html ※ 編輯: dearparanoid (36.224.25.166), 02/17/2017 01:24:23

02/17 01:27, , 1F
靜態 但是要server讀server????
02/17 01:27, 1F
我解釋的方法有問題@@ --------- --------- |_________| send request to xxx.io/public/2016/ |_________| | | ---------------------------------------> | File | | | | Display | | | | | --------- --------- 我的問題發生在發request給server位址的時候沒有回應。 但是我這樣做法是不是錯誤@@ 因為根本沒有資料庫在server端,只能夠讀取靜態的檔案。 我直接用js去讀取靜態檔案就好了。

02/17 02:08, , 2F
CORS, 你很難滿足條件的, bye
02/17 02:08, 2F
@@ ※ 編輯: dearparanoid (36.224.25.166), 02/17/2017 10:27:55

02/17 14:47, , 3F
如果沒有將靜態檔案公開,ajax 應該沒辨法直接存取
02/17 14:47, 3F

02/17 14:47, , 4F
還是要額外寫 HTTP action 好讓 ajax 去接
02/17 14:47, 4F
原來如此。那麼就是我要新增一張網頁來實作HTTP action嗎? 有範例可以讓我參考嗎@@ ※ 編輯: dearparanoid (36.224.25.166), 02/17/2017 16:30:08

02/17 16:53, , 5F
你的回覆request的網頁、實作HTTP action的網頁是指什麼?
02/17 16:53, 5F
我想要直接讀取資料夾下的所有檔案,我用ajax的方式去實作, 結果實際在github page上面操作的時候, 我發現我發出的request是給xxx.io/public/2016/ , 而不是我在local上看見的/public/2016/ 所以我想是不是需要在public/2016/這個資料夾下面實作一個reponse的網頁?

02/17 16:56, , 6F
server端跑程式讀檔案(node.js? cgi?)就不叫做靜態了吧?
02/17 16:56, 6F
原來如此@@ 我一直以為不連結到資料庫的就不算是動態了@@

02/17 17:19, , 7F
要用純靜態的方法,應該是每個目錄有個index file
02/17 17:19, 7F

02/17 17:20, , 8F
先取回index,依內容發請求取各個檔案
02/17 17:20, 8F

02/17 17:21, , 9F
當然所有的靜態檔案必須是可公開存取的
02/17 17:21, 9F

02/17 17:23, , 10F
當然因為CORS限制,你發ajax請求的網頁必須是在同個網域
02/17 17:23, 10F
這個index file的內容會是什麼呢?還是有個範例我可以研究一下的@@ 非常感謝,我大概有概念。不過還不知道怎麼搜尋@@ ※ 編輯: dearparanoid (36.224.25.166), 02/17/2017 17:25:45

02/17 17:28, , 11F
index file就是列出目錄下所有檔案,讓你的client-side js
02/17 17:28, 11F

02/17 17:29, , 12F
知道各檔案的網址啊...什麼格式看你想怎麼處理,json最簡單
02/17 17:29, 12F

02/17 17:31, , 13F
剛看到github預設允許所有網域CORS,應該可以隨便用
02/17 17:31, 13F
沒問題,那我理解了。 我發出的request應該是 xxx.io/public/2016/2016.json。 2016.json裡面就包含所有檔案的描述。 其實我最一開始想做的事情是想要讓一支程式可以去讀取所有資料夾裡的所有檔案, 我以後管理的時候,只要把檔案上傳,然後決定在哪個網頁呈現。 然後就在html裏呼叫這個function我就可以把整張頁面呈現出來。 其實這樣是不是我乾脆寫一個js去讀file就好了@@ 因為我沒有實際開發網站的經驗,不知道哪種規劃比較好@@ ※ 編輯: dearparanoid (36.224.25.166), 02/17/2017 17:35:12

02/17 18:59, , 14F
你想做的事應該是看static site generator
02/17 18:59, 14F

02/17 19:03, , 15F
不是在讀網頁的時候才ajax抓靜態資源來組合,而是在每次發
02/17 19:03, 15F

02/17 19:03, , 16F
布更新時就把組合這件事做好
02/17 19:03, 16F
原來如此,也就是說我直接用generator(像是Jekyll)發布更新就好。 感謝!!!! ※ 編輯: dearparanoid (36.224.25.166), 02/17/2017 19:10:58 ※ 編輯: dearparanoid (36.224.25.166), 02/17/2017 19:18:42

02/19 01:28, , 17F
Generator對你來說可能比較難理解,先從$.ajax比較好上
02/19 01:28, 17F

02/19 01:28, , 18F
02/19 01:28, 18F
感謝,我目前是打算先在本地端架起server,先用express實驗看看ajax的寫法, 靜態網站暫時先閱讀generator再繼續實作。 真是太感謝這個版了@@ ※ 編輯: dearparanoid (36.224.25.166), 02/19/2017 20:29:07
文章代碼(AID): #1OfTuV6i (Web_Design)
文章代碼(AID): #1OfTuV6i (Web_Design)