Возможно ли иметь такой же шаблон URL для доступа к методу 2 на контроллере - PullRequest
2 голосов
/ 22 февраля 2012

Я новичок в codeigniter, у меня проблема Возможно ли иметь один и тот же шаблон URL для доступа к 2 различным методам на контроллере?разница в том, что метод для доступа к этим методам - ​​либо GET, либо POST, точно так же, как Spring MVC обрабатывает его

@RequestMapping(value = "/persons/add", method = RequestMethod.GET)
public String getAdd(Model model)

@RequestMapping(value = "/persons/add", method = RequestMethod.POST)
public String add(@ModelAttribute("personAttribute") Person person)

, что мне нужно, когда я получаю доступ к URL-адресу, как это www.bla.com/controller/AddFunction(это GET) метод, который будет вызван, это метод "add1", который будет загружать форму представления, а затем у меня есть форма, которая имеет "действие" для контроллера / AddFunction, в настоящее время, потому что это POST, он вызовет "add2"method

спасибо заранее

Ответы [ 2 ]

2 голосов
/ 22 февраля 2012

Вы не обязаны передавать имя метода REST в вызове функции.Сам контроллер может обрабатывать ввод из GET, POST или из обоих.

Пример:

class Persons extends Controller{
  function add(){
    //$p will contain post data.
    $p = $this->input->post();
    //$g will contain get data.
    $g = $this->input->get();
    //$b will contain get or post data, depending on which is submitted.
    $b = $this->input->get_post();
  }
}

Для дальнейшего объяснения см. Документацию CodeIgniter по Класс ввода

0 голосов
/ 22 февраля 2012
class Persons extends Controller{
  function add(){
    $postArray = $this->input->post();
    $getArray = $this->input->get();

    //if something was POSTed
    if($postArray){
        //do something with post array
        return; //early return
    }

    //if we need to GET
    if($getArray){
        //do something with get array
        return; //early return
    }

    //do something down here if there were no data passed, like a default view
    //get() and post() return false if you have no parameters sent

  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...