简体   繁体   中英

Codeigniter save ajax response

I want to save the ajax response I get into my database. The problem is that my ajax function doesn't allow my to put a insert query. When I Insert the insert query, my response doesn't work anymore and vice versa.

where ajax file is

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

  }
  });

Your javascript is setting a data element for posting that the submit function is not using.

The submit function should look like this.

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

The javascript should look more like this. I used an form id of form1 and a form element of 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;
            });

The form I used.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM