Ajax 板


LINE

這種方式或許很多人已經知道了,知道的就當小弟野人獻曝吧. 以前工作的關係有小摸過ajax方式的開發, 發現這種開發方式很多事情變得很乾淨.很清楚.也很容易, 反正就是跟server api抓資料,回來生成一些item元素插回去html內. 不過一直覺得有什麼地方讓我覺得比較不能適應的(以user角度而言), 大概就是無法像傳統的頁面用頁面網址去記錄狀態, 也就是說常常我要讀取某個頁面的內容,過去的做法可能是 xxx.php?id=xxxxxx , 下次要讀取時一樣從我的最愛中讀出 這個網址,改用ajax後很抱歉... 你得進入頁面後,用什麼連結或是按鈕點一點才能call出你想要的那份網頁資料, 非常討厭....... 因為興趣的關係,我把flickr部分功能重新開發了(copy flickr的樣板移值), 很多地方重構成ajax的開發方式,但是我並不想犧牲原來flickr rest風格的網址, 就算做不到rest風格,也希望網址本身就能指定某種狀態,後來折衷, 我的做法是 頁面樣板是靜態的 .html 檔 , .html裡頭的javascript會收 querystring ,因此我某個頁面狀態是以 xxx.html?page=23 這種方式在處理 ,當jquery收到page=23後再跟server api要資料, 比較麻煩的是說,就是不清楚加上querystring後,瀏覽器還會不會從cache讀靜態頁面, 如果會的話跟原本純ajax差異也不大了,基本上page載入後, 就不會從網路上重覆載相同的page,浪費網路頻寬, 差異只是說會多一到從本機端電腦讀cache的動作, 對網路資料流量或是對方主機負荷都跟原本用ajax一樣, 不過前提是瀏覽器只判斷頁面擋是否更讀cache而不會去考慮querystring, 這方面就不清楚了. 目前開發畫面 http://dl.dropbox.com/u/61164954/homepage/temp/f1.png
(基本上目標是精簡版單人用flickr 會先移除掉社群功能 社群討論功能以後可能改用fb外掛去做,或是開放openid登入留言, 然後一些太酷炫或是我覺得比較沒需要的功能也會拿掉, 另外flickr移值完後,也會把無名風格的介面viewer納進來, 就是樣的一堆照片,你可以選用flickr介面去看或是無名介面去看, 但是這種東西做出來我也不敢放出來...畢竟樣板是人家的.... 就算無名或是flickr我是付費會員,只是基於備份和想在自家SERVER跑, 非商用...但是以後東西在自己個人架的站PAGE出來後,還是有可能被告... 所以還是低調自用就好..至於法律問題再研究.... 只是覺得我是付費會員,把你的功能和介面移植過來自家SERVER跑, 幫你減輕server負擔還不好喔....) --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.184.192.195 ※ 編輯: erspicu 來自: 111.184.192.195 (07/20 02:44)
1F:推 mrbigmouth:不太懂你page=xx的意思 07/20 05:05
2F:→ mrbigmouth:但只要網址相同而且有正確的response header 07/20 05:06
3F:→ mrbigmouth:瀏覽器是會先抓快取沒錯 07/20 05:06
4F:→ mrbigmouth:基本上 通常的作法是用time=xx 07/20 05:07
5F:→ mrbigmouth:或者直接生產出一個唯一的hash亂數值 07/20 05:07
6F:→ mrbigmouth:以該網頁的最後修改時間為基準 這樣只要網址是相同 07/20 05:08
7F:→ mrbigmouth:就代表該網頁的內容一定是不變的 07/20 05:08
8F:→ mrbigmouth:這樣Cache Control就可以設成永久快取甚至是public 07/20 05:09
9F:→ mrbigmouth:讓proxy快取 07/20 05:09
10F:→ Canboo:網址問題有history可以解決,catch有我可以夾timer解決... 07/20 08:06
11F:→ Canboo:個人認為完善的作法是先純HTML所有LINK都正常後,再用js讀 07/20 08:07
12F:→ Canboo:取要使用的A來套AJAX,這樣才會讓沒開JS的人也正常操作 07/20 08:08
13F:→ superpai:網址問題為何不用history api 07/20 08:47
http://ithelp.ithome.com.tw/question/10030581 簡單來說就是jquery讀取網頁的querystring後再跟server發出api request 我個人是用這個方法 自己是覺得還滿好用的 history api可以把某個頁面狀態加到我的最愛網址記錄中嗎? ※ 編輯: erspicu 來自: 60.248.56.181 (07/20 09:42)
14F:推 LPH66:要能留狀態的話可以搜尋一下 ajax deeplinking 07/20 10:03
原理似乎都是來至於讀取hash的做法 ※ 編輯: erspicu 來自: 60.248.56.181 (07/20 10:10)
15F:推 mrbigmouth:請google html5 history.pushState 07/20 13:03
16F:→ mrbigmouth:不過這是html5的啦 07/20 13:04
17F:→ mrbigmouth:記得之前這個板有討論過某個套件的樣子 07/20 13:04
18F:→ mrbigmouth:嗯 叫pjax 07/20 13:04
19F:→ mrbigmouth:總之就是 Server端依據是否有額外的request header 07/20 13:05
20F:→ mrbigmouth:來決定吐出整頁內容(給我的最愛or搜尋器)或者吐出ajax 07/20 13:05
21F:→ mrbigmouth:想取得的部份內容(給瀏覽者點下連結後的ajax) 07/20 13:06
22F:→ mrbigmouth:然後再用pushState記錄換頁狀態,供上下頁使用 07/20 13:06
23F:→ hermitwhite:這樣的做法,是不是會有不能用搜尋引擎找到內容的問題 07/20 23:04
ajax吐出來的東西 搜尋引擎應該都抓不到吧? ※ 編輯: erspicu 來自: 111.184.192.195 (07/20 23:20)
24F:→ hermitwhite:哦好像是,你這個骨子裡還是ajax...我腦袋打結了 07/20 23:24
25F:推 tomap41017:pjax可以看一下:P 07/21 00:46
26F:→ mrbigmouth:pjax就是為了兼顧讓搜尋引擎抓資料跟ajax的解決方案 07/21 07:30
27F:→ hermitwhite:pjax好像一次解決了搜尋和紀錄換頁的問題。我個人之前 07/21 11:56
28F:→ hermitwhite:的做法比較原始,是用iframe代替ajax來傳輸資料;不過 07/21 11:57
29F:→ hermitwhite:就沒有ajax能節省http request的優點。 07/21 11:59
30F:→ hermitwhite:不過it doesn't work in IE < 10... 07/22 00:03
31F:推 mrbigmouth:ajax啥時能節掉http request了?o_O 07/22 01:25
32F:→ mrbigmouth:WebSocket才能免掉http request吧 07/22 01:25
33F:→ hermitwhite:說http request也不太對,不過那是其中一部分(包含介 07/22 01:44
34F:→ hermitwhite:面的按鈕還有header裡面連結的檔案等)。 07/22 01:44
35F:→ Canboo:請先瞭解history.pushState,再來回說可不可以 07/22 16:45
36F:→ Canboo:http://deloin.victo.com.tw/ 內頁有用history 07/22 16:47
37F:→ Canboo:不支援HTML5的瀏覽器也是看的到 07/22 16:48







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP