Вставка данных путем отправки запроса PUT в CodeIgniter (сервер отдыха Фила Стерджена)


Существует разница между запросом PUT и POST, который я отправляю через КЛИЕНТ REST в своем API. Он реализован в CodeIgniter с сервером REST Фила Стерджена.

function station_put(){

    $data = array(
        'name' => $this->input->post('name'),
        'number' => $this->input->post('number'),
        'longitude' => $this->input->post('longitude'),
        'lat' => $this->input->post('latitude'),
        'typecode' => $this->input->post('typecode'),
        'description' => $this->input->post('description'),
        'height' => $this->input->post('height'),
        'mult' => $this->input->post('mult'),
        'exp' => $this->input->post('exp'),
        'elevation' => $this->input->post('elevation')
    );

    $id_returned = $this->station_model->add_station($data);
    $this->response(array('id'=>$id_returned,'message'=>"Successfully created."),201);


}

Этот запрос успешно вставляет данные на сервер, НО - он делает остальные значения нулевыми, за исключением идентификатора.

Но если вы измените имя функции на station_post, она вставит данные правильно.

Кто-нибудь, пожалуйста, объяснит, почему запрос PUT не работает? Я использую последняя версия google chrome.

Кстати, этот API будет интегрирован в приложение, обрабатываемое магистралью. Действительно ли мне нужно использовать PUT? Или есть другой обходной путь с функцией сохранения модели в магистрали при использовании post?

Author: Jekk, 2014-01-06

1 answers

Наконец-то ответил. Вместо $this->input->post или $this->input->put это должно быть $this->put или $this->post, потому что данные поступают не из формы.

 7
Author: Jekk, 2014-05-07 02:42:56