javascript - 当我传递静态数据时,它将成功存储数据。当我传递动态数据时,它不会存储数据。如何传递动态数据

标签 javascript ajax codeigniter

当我传递静态时,它将成功存储在数据库中。当我传递动态数据时,它不会存储在数据库中。在我看来,表单 ID 是 signupform,它有 5 个字段。

这是我的 .js 文件

$(document).on("submit","#signupform",function(e){ 
    e.preventDefault();

    //var view_id=$("#id_hid").val();
    //alert(view_id);
    console.log($('#signupform').serialize());
    var data = {'username' : 'username' , 'password' : 'password' , 'email' : 'email' , 'mobileno' : 'mobileno' , 'address' : 'address' };
    data = $('#signupform').serialize() + '&' + $.param(data);

    $.ajax({
        type:"POST",
        data:data,//$('#signupform').serialize(),
        dataType: "JSON",
        url:"../welcome/add",       
        success:function(data){
            //var json=$.parseJSON(data);
            //$('#signupform').html(response);
            alert(data);
        }
    });
});

** 这是我的 Controller 文件**

public function add(){
    $data=array();
    $postData=array();

    //prepare post data
    $postData = array(
        'username' => $this->input->post('username'),
        'password' => $this->input->post('password'),
        'email' => $this->input->post('email'),
        'mobileno' => $this->input->post('mobileno'),
        'address' => $this->input->post('address')
    );  


    //print_r($postData);

    //insert post data

    $insert = $this->home_model->insert_form($postData);
    $data['msg']= "data insert successfully";
    echo json_encode($data['msg']);
}

这是我的模型文件

function insert_form($data){

    $insert=$this->db->insert('emp',$data);
    if($insert){
        return $this->db->insert_id();
    } else {
        return false;
    }
    echo  json_encode($data);
}

最佳答案

如果要发布字符串数据,可以删除dataType: "JSON"

或者你可以使用这个方法

$(document).on('submit', '#signupform', function (e) {
  e.preventDefault();
  var data = {username: 'username', password: 'password', email: 'email', mobileno: 'mobileno', address: 'address'};
  data = Object.assign({}, $('#signupform').serializeArray()[0], data);
  console.log(data);

  $.post('your backend url', data, function (result) {
    console.log(result);
  })
})

关于javascript - 当我传递静态数据时,它将成功存储数据。当我传递动态数据时,它不会存储数据。如何传递动态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48442252/

相关文章:

php - 有效地加载内容丰富的网站,使用户遭受最少的延迟

javascript - 打破封闭

jquery - 提交按钮在 ajax 生成表的模式弹出 View 中不起作用

php - Codeigniter 将部分 CSV 数据插入 MYSQL 只有 id 和 date

php - 从mysql获取季度销售趋势

javascript - 获取视口(viewport)像素偏移

用于验证元素值和复选框的 Javascript

javascript - 原型(prototype)继承中 this 的值

javascript - XMLHttpRequest 将 PHP 和 ASP 作为文本返回

mysql - Codeigniter 偶尔出现数据库连接错误