1

問題は、false のダイアログ ボックスが表示されることですが、クエリは正常に実行されており、値がデータベースに正常に追加されています。true と表示されるはずですが、false と表示されます。値 res = 1 も行っているFirebugを確認しましたが、何が問題なのかわかりません。

私の見解:

$.ajax({
    url: "<?php echo site_url('itemsController/additems'); ?>",
    type: 'POST',
    data: form_data,
    success: function(msg) {
        if(msg.res == 1)
        {
            alert(true);
        }
        else
        {
            alert(false);
        }
    }
});

コントローラ:

        $result = array();
        $this->load->model('itemsModel');
        $query = $this->itemsModel->addItemstoDB($data);

        if ($query){  //&& any other condition
            $result['res'] = 1;
        }
        else
        {
            $result['res'] = 0;
        }
        echo json_encode($result); //At the end of the function.
    }
}
4

2 に答える 2

5

サーバーから返されたデータがJSONとして解析されるように設定dataTypeしてみてください。json

$.ajax({
    url: "<?php echo site_url('itemsController/additems'); ?>",
    type: 'POST',
    data: form_data,
    dataType: 'json',
    success: function(msg) {
        if(msg.res == 1) {
            alert(true);
        }
        else
        {
            alert(false);
        }
    }
});
于 2013-01-11T20:52:10.573 に答える
-1

復帰予告。

    if ($query){
        $result['res'] = 1;
    }
    else 
    {
        $result['res'] = 0;
    }
    return json_encode($result);//at the end of the function.
}
于 2013-01-11T20:44:32.883 に答える