我無法使用ajax post函數從我的控制器返回數據。這裏發生的是用戶將輸入一個樣式編號,將該編號提交給控制器。控制器抓取提交的值,查詢數據庫並將結果返回給控制器,然後控制器返回一個數組,然後將其編碼爲json。但我不斷收到500內部服務器錯誤?用Codeigniter POST'ing JSON返回500錯誤
這是我的控制器
//return schools based on style id
public function search() {
$input = json_decode($this->input->post('obj'));
$style_id = $input['style_id'];
$parent_id = $input['parent_id'];
$data = array();
if ($q = $this->page_model->search_results($style_id, $parent_id)) {
$data = $q;
}
echo json_encode($data);
}
這是我的模型
//get all entries
function search_results($style_id, $parent_id) {
$options = array(
'Style' => $style_id,
'Parent_ID' => $parent_id
);
$this->db->select('*');
$this->db->from('pages');
$this->db->join('entry', 'pages.Page_ID = entry.Parent_Page_ID', 'inner');
$this->db->where($options);
$q = $this->db->get();
if ($q->num_rows() > 0) {
return $q->result();
}
}
下面是我的javascript
//dress style search
$($searchBtn).click(function(event) {
var style_id,
parent_id,
obj = {};
//get the value of the input fields
searchVal = event.currentTarget.previousSibling.value;
parentID = event.currentTarget.parentElement.childNodes[3].value;
//The object to be passed to the controller
obj = { 'style_id' : searchVal, 'parent_id' : parentID };
//POST the values in json notation, return the search results in json notation
$.post(base_url + 'index.php/page/search',
obj,
function(data) {
console.log(data);
},
'json');
return false;
});
BASE_URL = HTTP://本地主機:8888/lexsreg
順便說一句 - 如果我評論出來返回false,我得到一個json字符串從我的控制器回顯。
在此先感謝!
在CI版本2.0.3中,csrf標記的名稱再次發生變化,並且此版本的名稱爲「csrf_test_name」 – steampowered
忘記給您信用 –