作者dearparanoid (亲爱的偏执狂)
看板Web_Design
标题[问题] 利用ajax读取档案
时间Fri Feb 17 01:15:08 2017
我是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://webptt.com/cn.aspx?n=bbs/Web_Design/M.1487265311.A.1AC.html
※ 编辑: dearparanoid (36.224.25.166), 02/17/2017 01:24:23
1F:推 pm2001: 静态 但是要server读server???? 02/17 01:27
我解释的方法有问题@@
--------- ---------
|_________| send request to xxx.io/public/2016/ |_________|
| | ---------------------------------------> | File |
| | | Display |
| | | |
--------- ---------
我的问题发生在发request给server位址的时候没有回应。
但是我这样做法是不是错误@@
因为根本没有资料库在server端,只能够读取静态的档案。
我直接用js去读取静态档案就好了。
2F:→ AndCycle: CORS, 你很难满足条件的, bye 02/17 02:08
@@
※ 编辑: dearparanoid (36.224.25.166), 02/17/2017 10:27:55
3F:→ Neisseria: 如果没有将静态档案公开,ajax 应该没辨法直接存取 02/17 14:47
4F:→ Neisseria: 还是要额外写 HTTP action 好让 ajax 去接 02/17 14:47
原来如此。那麽就是我要新增一张网页来实作HTTP action吗?
有范例可以让我参考吗@@
※ 编辑: dearparanoid (36.224.25.166), 02/17/2017 16:30:08
5F:→ ssccg: 你的回覆request的网页、实作HTTP action的网页是指什麽? 02/17 16:53
我想要直接读取资料夹下的所有档案,我用ajax的方式去实作,
结果实际在github page上面操作的时候,
我发现我发出的request是给xxx.io/public/2016/ ,
而不是我在local上看见的/public/2016/
所以我想是不是需要在public/2016/这个资料夹下面实作一个reponse的网页?
6F:→ ssccg: server端跑程式读档案(node.js? cgi?)就不叫做静态了吧? 02/17 16:56
原来如此@@ 我一直以为不连结到资料库的就不算是动态了@@
7F:→ ssccg: 要用纯静态的方法,应该是每个目录有个index file 02/17 17:19
8F:→ ssccg: 先取回index,依内容发请求取各个档案 02/17 17:20
9F:→ ssccg: 当然所有的静态档案必须是可公开存取的 02/17 17:21
10F:→ ssccg: 当然因为CORS限制,你发ajax请求的网页必须是在同个网域 02/17 17:23
这个index file的内容会是什麽呢?还是有个范例我可以研究一下的@@
非常感谢,我大概有概念。不过还不知道怎麽搜寻@@
※ 编辑: dearparanoid (36.224.25.166), 02/17/2017 17:25:45
11F:→ ssccg: index file就是列出目录下所有档案,让你的client-side js 02/17 17:28
12F:→ ssccg: 知道各档案的网址啊...什麽格式看你想怎麽处理,json最简单 02/17 17:29
13F:→ ssccg: 刚看到github预设允许所有网域CORS,应该可以随便用 02/17 17:31
没问题,那我理解了。
我发出的request应该是 xxx.io/public/2016/2016.json。
2016.json里面就包含所有档案的描述。
其实我最一开始想做的事情是想要让一支程式可以去读取所有资料夹里的所有档案,
我以後管理的时候,只要把档案上传,然後决定在哪个网页呈现。
然後就在html里呼叫这个function我就可以把整张页面呈现出来。
其实这样是不是我乾脆写一个js去读file就好了@@
因为我没有实际开发网站的经验,不知道哪种规划比较好@@
※ 编辑: dearparanoid (36.224.25.166), 02/17/2017 17:35:12
14F:→ ssccg: 你想做的事应该是看static site generator 02/17 18:59
15F:→ ssccg: 不是在读网页的时候才ajax抓静态资源来组合,而是在每次发 02/17 19:03
16F:→ ssccg: 布更新时就把组合这件事做好 02/17 19:03
原来如此,也就是说我直接用generator(像是Jekyll)发布更新就好。
感谢!!!!
※ 编辑: dearparanoid (36.224.25.166), 02/17/2017 19:10:58
※ 编辑: dearparanoid (36.224.25.166), 02/17/2017 19:18:42
17F:推 aa1235561: Generator对你来说可能比较难理解,先从$.ajax比较好上 02/19 01:28
18F:→ aa1235561: 手 02/19 01:28
感谢,我目前是打算先在本地端架起server,先用express实验看看ajax的写法,
静态网站暂时先阅读generator再继续实作。
真是太感谢这个版了@@
※ 编辑: dearparanoid (36.224.25.166), 02/19/2017 20:29:07