RESTful версия общего Ajax-запроса

#javascript #ajax #json #rest

#javascript #ajax #json #rest

Вопрос:

Я использовал этот «старый добрый» способ для извлечения данных в формате HTML через Ajax и внедрения их в DOM.

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
  

Вопрос в том, какова RESTful версия этого?

Должен ли я извлекать только данные JSON через Ajax?

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

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

Как я должен обрабатывать форматирование view / HTML, другой запрос ajax? Или я что-то упускаю?

Ответ №1:

хорошо иметь представления в restful services, определяющие, как возвращать данные. Я бы предложил передать параметр url, такой как

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

и выяснение того, как реагировать с помощью этого параметра

Комментарии:

1. Значит, RESTful — это не просто данные и может быть окончательной версией HTML?

2. RESTful подразумевает URL, который определяет ресурс. в данном случае ‘resource/1’. способ отображения этого представления не обязательно должен быть частью этого определения URL, поэтому вы можете сделать его параметром url. РЕДАКТИРОВАТЬ: если, конечно, представление действительно не влияет на ресурс (что кажется странным). в таком случае это должно быть частью URL, как в вашем коде.

3. Чистый подход REST заключается в использовании URL ресурса и заголовка accept-encoding для определения формата возвращаемых данных.