Php Codeigniter保存ajax响应

Php Codeigniter保存ajax响应,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,我想保存我进入数据库的ajax响应。问题是,我的ajax函数不允许我放置插入查询。当我插入Insert查询时,我的响应不再有效,反之亦然 ajax文件所在的位置 public function submit() { $data = array( 'user_id' => '1', 'swipedpicture' => $this->input->post() ); $this->db->insert('tbl_results', $data); pri

我想保存我进入数据库的ajax响应。问题是,我的ajax函数不允许我放置插入查询。当我插入Insert查询时,我的响应不再有效,反之亦然

ajax文件所在的位置

public function submit()    {

$data = array(
'user_id' => '1',
'swipedpicture' => $this->input->post()
);
$this->db->insert('tbl_results', $data);
print json_encode($data);
}
ajaxjquery

var pic = $(this).find('input[name="inputcountry"]').attr('value');
    jQuery.ajax({
    type: "POST",
    url: window.location.origin +"/swipr/index.php/preferences/submit",
    dataType: 'json',
    data: {swipedpic: pic},
    success: function(res) {
    if (res) {
    console.log(res.swipedpicture);
    }

  }
  });

您的javascript正在为提交函数未使用的发布设置数据元素

提交函数应该如下所示

$data = array(
        'user_id' => '1',
        'swipedpicture' => $this->security->xss_clean($this->input->post('swipedpicture'))
    );
    $this->db->insert('tbl_results', $data);
    $response_array['status'] = 'success';

    echo json_encode($response_array);
javascript应该更像这样。我使用了form1的表单id和swipedpicture的表单元素

$('#form1').submit(function(e){
                e.preventDefault();
                $.ajax({
                    url: 'example_answer_submit',
                    type: 'POST',
                    data: $('#form1').serialize(),
                    success: function (msg) {
                        if (!msg) {
                        console.log('error');
                    } else {
                        console.log('success');
                    }
                    }
                });
                return false;
            });
我用的表格

<h1 class="page-header text-center">Test Form</h1>
                    <form id="form1" class="form-horizontal" role="form" method="post" action="">
                        <div class="form-group">
                            <label for="name" class="col-sm-2 control-label">Swiped Picture</label>
                            <div class="col-sm-10">
                                <input type="text" class="form-control" id="swipedpicture" name="swipedpicture" placeholder="Pic" value="">
                            </div>
                        </div> 
                        <div class="form-group">
                            <div class="col-sm-10 col-sm-offset-2">
                                <input id="submit" name="submit" type="submit" value="Send" class="btn btn-primary">
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-10 col-sm-offset-2">
                                <?php echo $result; ?>  
                            </div>
                        </div>
                    </form>
测试表单
刷卡图片

它不起作用。当我添加这段代码时,我不再得到ajax响应。。它不会保存到我的表格中。你能在控制台中看到发布的值吗?另外,pic字段是文件字段吗?如果我插入您的代码,它将不再记录响应。pic只是一个隐藏输入字段的值。我正在整理一个示例并测试它。只需要几分钟。数据:$(“#form1”).serialize()和swipedpicture'=>$this->security->xss\u clean($this->input->post('swipedpicture'))对我有效,谢谢你
$this->input->post('swipedpic')
不,仍然无效。。正如我所说,从我添加更多代码的那一刻起,即使是$this->db->insert('tbl_results',$data'),我也不再得到ajax响应。