我想通过JSON删除数据库中的数据,并且我使用codeigniter框架
我的route.php
$route['api/mahasiswa/delete/(:any)']['DELETE'] = 'MahasiswaController/deleteMahasiswa/$1';
我的控制器
public function deleteMahasiswa($id)
$this->Mahasiswa->deleteMahasiswa($id);
$response = array(
'Success' => true,
'Info' => 'Data Berhasil di hapus');
$this->output
->set_status_header(200)
->set_content_type('application/json', 'utf-8')
->set_output(json_encode($response, JSON_PRETTY_PRINT))
->_display();
exit;
我的模特
public function deleteMahasiswa($id)
$val = array(
'id' => $id
);
$this->db->delete('mahasiswa', $val);
我试图访问
http://localhost/json/public/api/mahasiswa/delete/6
但它没有工作
但我的数据是工作
我的路线
$route['api/mahasiswa/get/(:num)/(:num)']['GET'] = 'MahasiswaController/getMahasiswa/$1/$2';
我的控制器
public function getMahasiswa($page, $size)
{
$response = array(
'content' => $this->Mahasiswa->getMahasiswa(($page - 1) * $size, $size)->result(),
'totalPages' => ceil($this->Mahasiswa->getCountMahasiswa() / $size));
$this->output
->set_status_header(200)
->set_content_type('application/json', 'utf-8')
->set_output(json_encode($response, JSON_PRETTY_PRINT))
->_display();
exit;
}
我的模特
public function getCountMahasiswa()
return $this->db->count_all_results('t_akun', FALSE);
公共函数getMahasiswa($ page,$ size)
return $this->db->get('t_akun', $size, $page);
我使用这样的网址
答案 0 :(得分:2)
尝试删除http
字
route.php
$route['api/mahasiswa/delete/(:any)'] = 'MahasiswaController/deleteMahasiswa/$1';
在控制器中
public function deleteMahasiswa($id)
{
$this->Mahasiswa->deleteMahasiswa($id);
$response = array('Success' => true, 'Info' => 'Data Berhasil di hapus');
echo json_encode($response, JSON_PRETTY_PRINT);
}
如果通过javascript AJAX例程调用此函数,则不需要路由设置。为什么要打扰一个永远不会在浏览器中看到的漂亮网址?
您尝试访问的网址
http://localhost/json/public/api/mahasiswa/delete/6
表示您使用的文件组织方式与典型(和推荐)Codeigniter结构不同。您可以尝试更改路线
$route['/json/public/api/mahasiswa/delete/(:any)'] = 'MahasiswaController/deleteMahasiswa/$1';
看看会发生什么。
/(:any)
是一张外卡,连接到语句末尾的/$1
。基本上是说"采取最后一次斜线后的任何内容,并用该值替换$ 1"。