我已经创建了一个用于捐款的表单,当用户进行捐赠时,他将查看错误,或者如果成功将能够看到第二页上的表单将会加载。现在的问题是,当我测试数据在数据库以及后端正确更新时,一切工作正常。问题是,Ajax没有得到返回数据我已经放置了一个加载器成功加载程序将被隐藏,它不工作它不断加载,但没有得到返回数据任何人都可以帮我解决这个错误对我来说,请在这里是我的代码在提交时会一直加载,但不会返回数据
这是我的javascript
$(document).ready(function() {
$('.donate').on('submit', function(e) {
$('.load').fadeIn(500);
var formData = new FormData(this);
console.log(formData);
$.ajax({
url : "http://mydomainname.com/directory/user/makedonation",
type : "POST",
data : formData,
contentType : false,
cache : false,
processData : false,
success : function(data) {
$('.load').fadeOut(500);
console.log(data.status);
$('.donation_form').html(data);
}
});
});
});
这是我的控制器user.php的其中数据正在被处理
public function makedonation() {
$comments = $this->input->post('comments');
$user_data = $this->get_data->user_info($this->session->userdata('uid'));
$class = $this->db->get_where('classes', array('id' => $user_data->row()->membership));
$amount = $class->row()->ammount_pay;
$data = array(
'user_id' => $user_data->row()->uid,
'amount' => $class->row()->ammount_pay,
'rcv_amount' => $class->row()->ammount_receive,
'class_id' => $class->row()->id,
'comments' => $comments
);
$rt_data = $this->data_insert->donate_user($data);
$rcv_data = $this->get_data->user_info($rt_data['receiver_id']);
$name = $rcv_data->row()->first_name . " " . $rcv_data->row()->last_name;
$view_data = array(
'user_id' => $user_data->row()->uid,
'receiver_id' => $rt_data['receiver_id'],
'transaction_id' => $rt_data['transaction_id'],
'comments' => $comments,
'name' => $name,
'amount' => $class->row()->ammount_pay,
'command' => 'Confirm Donation'
);
$this->load->view('user/includes/get_data', $view_data);
}
在这里数据被插入到数据库
模态public function donate_user($data) {
$donation_data = array(
'user_id' => $data['user_id'],
'amount' => $data['amount'],
'receive_ammount' => $data['rcv_amount'],
'date_deposit' => date('m-d-Y'),
'time_deposit' => date('h:i A'),
'class' => $data['class_id'],
'status' => 'Submitted'
);
$insert_donation = $this->db->insert('donation', $donation_data);
$transaction_id = $this->db->insert_id();
$rt_data = array(
'message' => 'Success',
'transaction_id' => $transaction_id,
'receiver_id' => $receiver->row()->user_id
);
return $rt_data;
}
现在,这里是我的困惑,如果数据被正确地插入到数据库中,并且还当我在浏览器中单独运行此文件,我指的是我的控制器第二页加载正确没有发现错误的原因阿贾克斯没有返回数据
你什么时候提交表单和一件事情,你应该改变ajax paramerter'typ:'POST''到'method:'POST'' – JSingh
而不是'$ this-> load-> view('user /包含/ get_data',$ view_data);',返回'donate_user($ data)'或创建另一个方法来处理ajax请求ant此方法应该返回'donate_user($ data)' – JSingh
完成但仍然相同..在我的控制器当我评论$ this-> load-> view('user/includes/get_data',$ view_data);只是放在回声“你好世界”它正在工作然后 –