-1

我想在 codeigniter 上使用 ajax 和 json 将数据输入数据库后显示信息。ut 从 json 返回的数据包含双引号字符 (""),以下控制器和在 codeigniter me 中查看 ajax。

控制器:

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
            }
        });

我提交后会出现 info "xxx berhasil ditambah ke list menu makanan",但问题是有一个双引号字符,我想在没有任何双引号的情况下调出这样的信息xxx 成功添加到食物菜单列表.

4

3 回答 3

1

如果$nama_makanan不是数组并且你想从php返回字符串,那么你不需要使用json_encode(),只需尝试这样做:

//in your function
$result = $nama_makanan . ' berhasil ditambah ke list menu makanan';
echo $result;
于 2012-12-25T12:04:39.863 回答
1

改变

 echo json_encode($result);

 echo $result;
 return false;

json_encode 用于数组,特别是多维关联数组。对于字符串或任何字符或二进制字符,它没有必要......

于 2012-12-25T12:12:11.173 回答
0

$('#result').text(JSON.parse(html));

在ajax成功回调中达到你想要的结果?

但是,看起来您并没有真正返回 JSON(我不熟悉 CodeIgniter,所以我可能读错了),因此您可以只返回原始字符串,然后就不需要JSON.parse了。

于 2012-12-25T12:07:05.153 回答