Codeigniter保存ajax响应

时间:2015-06-01 18:25:35

标签: php jquery ajax codeigniter

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

其中ajax文件

public function submit()    {

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

Ajax Jquery

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

  }
  });

1 个答案:

答案 0 :(得分:0)

您的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>