我想在使用ajax和json对codeigniter输入数据到数据库后显示信息。但是json返回的数据包含双引号字符("),下面的控制器和视图ajax在codeigniter me.
控制器:
public function simpanMenuMakanan() {
$nama_makanan = $this->input->post('nama-menu-makanan');
$harga_makanan = str_replace(".", "", $this->input->post('harga-makanan'));
$jenis_makanan = $this->input->post('jenis-makanan');
$data = array(
'nama_makanan' => $nama_makanan,
'harga_makanan' => $harga_makanan,
'id_jenis_makanan' => $jenis_makanan
);
$simpan = $this->makanan_model->tambahMenuMakanan($data);
if ($simpan) {
$result = $nama_makanan . ' berhasil ditambah ke list menu makanan';
echo json_encode($result);
}
}
查看javascript ajax:
$.ajax({
type: 'POST',
url: "<?php echo base_url(); ?>makanan/simpanmenumakanan",
data: $(this).serialize(),
success: function(html){
// other statement
$('#result').text(html);
// other statement
}
});
在我提交后,它会出现信息"xxx berhasil ditambah ke list menu makanan",但问题是有一个双引号字符,我想把这样的信息没有任何双引号xxx成功添加到食物列表菜单
如果$nama_makanan
不是数组,你想从php返回字符串,那么你不需要使用json_encode()
,只是试着做:
//in your function
$result = $nama_makanan . ' berhasil ditambah ke list menu makanan';
echo $result;
变化
echo json_encode($result);
echo $result;
return false;
json_encode用于数组,特别是多维关联数组。对于字符串或任何字符或二进制字符,不需要…
$('#result').text(JSON.parse(html));
在ajax成功回调实现你想要的结果吗?
然而,它看起来不像你真的返回JSON(我不熟悉CodeIgniter,所以我可能会读错),所以你可以只是返回原始字符串,然后你就不需要JSON.parse.