2011-05-26 72 views
0

的REST風格的版本,我用這個「老好人」的方式通過Ajax獲取HTML格式的數據,並將其注入到DOM。常見的Ajax請求

http://localhost/ajax-controller/mobile-view/resource/1/

$mobile_view = new View('mobile-view'); // use mobile view 
$mobile_view->data = $this->data_array; // add some data to view 
$this->response->body($mobile_view); // return formatted HTML 

http://localhost/ajax-controller/web-view/resource/1/

$web_view = new View('web-view');  // use normal web view 
$web_view->data = $this->data_array; // add some data to view 
$this->response->body($web_view);  // return formatted HTML 

問題是這樣做有什麼REST風格的版本?

要我去通過Ajax只是JSON數據?

http://localhost/ajax-controller/resource/1/

$this->response->body(json_encode($this->data_array)); // return JSON data 

我應該如何處理視圖/ HTML格式,另一種Ajax請求?或者我錯過了什麼?

回答

0

是細到在RESTful服務的意見,爲確定如何返回數據。我建議通過URL參數一樣

http://localhost/ajax-controller/resource/1/?view=mobile 

,並找出如何通過該參數

+0

多麼愜意迴應不僅僅是一個數據,可能是最終的HTML版本? – kaulusp 2011-05-26 21:40:01

+0

RESTful表示定義資源的網址。在這種情況下'資源/ 1'。顯示該視圖的方式不需要是該url定義的一部分,因此您可以將其設置爲url參數。編輯:除非當然視圖實際上影響資源(這似乎很奇怪)。在這種情況下,它應該是你的代碼中的url的一部分。 – pthurlow 2011-05-26 21:51:39

+0

純粹REST方法是使用資源URL和accept-encoding標頭來確定返回數據的格式。 – 2011-05-26 21:58:41