#php #jquery #json #ajax #codeigniter
#php #jquery ( jquery ) #json #ajax #codeigniter #jquery
Вопрос:
, я пытаюсь получить некоторые значения из базы данных по ajax-запросу в codeigniter … но объект json возвращает null ([]), когда я помещаю console.log…Мне нужна помощь, пожалуйста!!
JAVASCRIPT
function list_president() {
var section = "1";
$.post(baseurl 'votos/load_politic', section,
function(data) {
console.log(data);
});
}
КОНТРОЛЛЕР
public function load_politic()
{
if ($this->input->is_ajax_request()) {
$section = $this->input->post('section');
$result = $this->politic->get_president($section);
echo json_encode($result);
}
}
Модель
public function get_president($section){
$this->db->select("p.POLITIC_NAME, p.POLITIC_LASTNAME, p.POLITIC_SIDE, p.POLITIC_CHARGE");
$this->db->from("politics p");
$this->db->where("SECTION_ID",$section);
$result= $this->db->get();
return $result->result();
}
Спасибо за помощь!!
Комментарии:
1. Если вы получаете это по идентификатору, то вы извлекаете одну строку, поэтому вам нужно вернуть $result->row() . После этого, пожалуйста, в вашем $.post вызовите просто console.log(данные) и скажите мне, что вы получаете.
2. @Franco Я изменил $result->result(); …на $result->row() … и вернул null =(
3. @charlietfl указал вам правильное направление, это ускользнуло от моего внимания, потому что я всегда использую ajax cal для таких вещей. Но я надеюсь, что его предложение решило вашу проблему.
Ответ №1:
Вы не отправляете пару ключ / значение на сервер…просто значение.
Таким образом, нет $_POST['section']
, что в основном то, что $this->input->post('section');
есть
Попробуйте изменить
var section = "1";
Для
var section = {section: "1"};
Вы также не проверяете, что отправляется или проверяет $result
, возвращает ли что-нибудь