[請益] MVC和ajax

看板PHP作者 (喵)時間16年前 (2010/02/03 02:31), 編輯推噓3(3030)
留言33則, 6人參與, 最新討論串1/1
一直覺得php碼和html碼的混雜,實在是很難修正程式 每次要看那些亂七八糟的東西,就得重頭看起 還要暗罵自己,怎麼那麼笨,應該可以怎樣怎樣寫之類的 這表示寫程式的功力隨著時間而有所增長 但事實上,再怎麼成長,還是在最基本的程序導向寫法 一直沒有跨到物件導向以及非程序導向寫法 似乎還是在井底,抱著基礎入門書籍看天空的小青蛙 最近才知道有個MVC設計模式 為我數年來自修看書得到的程序導向的程式知識 做了一個很好的出口 欣喜之下,也順便把物件導向的東西k了一番 但是現在有個小疑惑 這幾天在看MVC時,一直把ajax和他們想在一起 我使用ajax的目的,幾乎都是從使用者端下達一些指令後, 透過非同步啥嘛的去跟伺服器端的程式做一些溝通 或許是寫入資料,或是取得資料 最後在不換頁的狀態下,在使用者端可以得到伺服器端執行程式的結果 將之反應在畫面上 我好奇的是,這樣的一個作法,是不是就很類似MVC裡面的V 而下達指令,透過ajax去伺服器端做事情,感覺像MVC的C 然後伺服器端會有一些程式去跑,這就是MVC裡頭的M了 我這樣想對嗎? 還是根本搞錯了呢? 一直以來都有在php版上取經,還希望先進們解惑,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.75.16 ※ 編輯: jonathanmeow 來自: 118.161.75.16 (02/03 02:33)

02/03 09:09, , 1F
ajax 頂多只有 M(資料層)和V(視圖層)的腳色
02/03 09:09, 1F

02/03 09:09, , 2F
應該扯不到C(邏輯層),如有錯誤請指正^^
02/03 09:09, 2F

02/03 09:11, , 3F
ajax => js->server programe(PHP)->data(XML)->js
02/03 09:11, 3F

02/03 09:59, , 4F
重構、設計範式、敏捷軟體、極致編程。我講完了。
02/03 09:59, 4F

02/03 13:31, , 5F
Ajax不可能有M啊,json等也只是把資料轉成js裡的
02/03 13:31, 5F

02/03 13:31, , 6F
資料結構而已啊,最多就是Visual
02/03 13:31, 6F

02/03 13:31, , 7F
Service比較接近Controller
02/03 13:31, 7F

02/03 14:21, , 8F
看來我對MVC的想法還是有問題 繼續K書爬文去 感謝!
02/03 14:21, 8F

02/03 15:24, , 9F
MVC的Controller是負責把原始資料抽出來phrase給
02/03 15:24, 9F

02/03 15:24, , 10F
Model(上一行打錯)
02/03 15:24, 10F

02/03 15:24, , 11F
Controller的,所以這兩部分都在Server上
02/03 15:24, 11F

02/03 16:28, , 12F
AJAX=不用換頁的form submit
02/03 16:28, 12F

02/03 16:28, , 13F
從這個本質來想,AJAX只是V
02/03 16:28, 13F

02/03 17:14, , 14F
ajax是v 至少這一點我想的沒錯吧?我文中也提到C和M
02/03 17:14, 14F

02/03 17:15, , 15F
是和伺服器端有關係 不過我ajax的寫法,會判斷我送出
02/03 17:15, 15F

02/03 17:15, , 16F
的資料該用何種方法來處理 然後接收回傳的資料
02/03 17:15, 16F

02/03 17:16, , 17F
這是透過js去寫的 這跟C的不同點在哪裡?還是C一定要
02/03 17:16, 17F

02/03 17:16, , 18F
在伺服器端?可是這樣就要換頁了啊 但ajax一大優點就
02/03 17:16, 18F

02/03 17:17, , 19F
是不換頁不是嗎?還是有點搞不清楚 可能我在ajax的寫
02/03 17:17, 19F

02/03 17:17, , 20F
法上尚有一些不正規的寫法 還要再搞清楚點......
02/03 17:17, 20F

02/03 18:45, , 21F
模擬一下喔
02/03 18:45, 21F

02/03 18:45, , 22F
Ajax:server我request牛肉麵(V)
02/03 18:45, 22F

02/03 18:46, , 23F
PHP:收到,廚房請給我牛肉和處理好的麵條(C)
02/03 18:46, 23F

02/03 18:46, , 24F
另外一些PHP或DB的程序:製作麵條+解凍牛肉中...(M)
02/03 18:46, 24F

02/03 18:47, , 25F
所以js只負責要求,他不需要負擔像廚房要資料的功能XD
02/03 18:47, 25F

02/04 01:24, , 26F
唔 所以php+ajax可以寫出mvc結構 只是m c 跟js無關
02/04 01:24, 26F

02/04 08:44, , 27F
MVC是設計模式和換不換頁沒關係呢^^
02/04 08:44, 27F

02/19 03:36, , 28F
ajax充其量只剩算是V 但實際的MVC仍然在Server端完成
02/19 03:36, 28F

02/19 03:37, , 29F
更極致一點的V JS不應該決定要建立任何tag 所有需更新的tag
02/19 03:37, 29F

02/19 03:38, , 30F
應由Server端的V來提供 JS只負責append=而已
02/19 03:38, 30F

02/19 03:39, , 31F
簡單來說ajax只不過是取代瀏覽器將整個html更新的動作
02/19 03:39, 31F

02/19 03:40, , 32F
和非使用ajax的網頁相比 瀏覽器也只是將回傳的整份html文件
02/19 03:40, 32F

02/19 03:41, , 33F
替換成新的而已 而整份html文件皆是由伺服端來產生
02/19 03:41, 33F
文章代碼(AID): #1BQ6zlut (PHP)
文章代碼(AID): #1BQ6zlut (PHP)