#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 для определения формата возвращаемых данных.