-1

codeigniter で ajax と json を使ってデータベースにデータを入力した後、情報を表示したい。json から返されたデータには、二重引用符 ("")が含まれていました。

コントローラ:

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 が食品メニューのリストに正常に追加されました.

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 に答える