我是codeigniter的新手,这是我第一次使用jquery ajax。CodeIgniter上的JQuery AJAX:返回null的JSON数据类型
我有一个模式表单,将信息传递给视图上的脚本。我的问题是,阿贾克斯是空值...
我试图提醒脚本上的数据,它显示正确的值,但是当它将数据作为JSON传递给控制器时,我认为这是失败的地方。我不知道该怎么办。你有什么主意吗?在视图
$(function() { //add new user from modal
$('#adduser_modal').modal('show');
$('#adduser_modal').find('.modal-title').text('Add New User');
$('#addUser_form').attr('action', '<?php echo base_url() ?>Hgv_controller/addnewuser');
});
$('#saveuser_btn').click(function() {
var url = $('#addUser_form').attr('action');
$.ajax({
type: 'ajax',
method: 'post',
url: url,
data: data,
async: false,
dataType: 'json',
jsonpcallback: success
:
function (response) {
if (response.success) {
$('#adduser_modal').modal('hide');
$('#addUser_form')[0].reset();
}
}
});
这里
片断脚本的代码片段从控制器
public function addnewuser()
{
$this->load->database();
//load model for crud
$this->load->model('Crud');
$result = $this->Crud->adduser();
$msg['success'] = false;
$msg['type'] = 'add';
if ($result) {
$msg['success'] = true;
}
echo json_encode($msg);
}
,这里是从模型
使用jsonpcallback
public function adduser()
{
$field = array(
'username' => $this->input->post('hgv_username'),
'f_name' => $this->input->post('hgv_firstname'),
'l_name' => $this->input->post('hgv_lastname'),
'password' => $this->input->post('hgv_password'),
'user_type' => $this->input->post('hgv_type'),
);
$this->db->insert('hgv_user', $field);
if ($this->db->affected_rows() > 0) {
return true;
} else {
return false;
}
}
您是否试图转储或打印您在模型中获得的发布数据?验证 –
或尝试print_r($ this-> input-> post());出口;在您的控制器中加载您的模型以查看您是否在控制器中获取数据 –
1.'ajax'不是有效的http请求方法('type:'ajax''),2.'type'是别名对于'method',3.'async:false'使请求同步并阻止脚本/ UI,4. $ .ajax(...)'选项对象有语法错误(不必要的'jsonpcallback'属性) – Andreas