Php 使用ajax将数据插入数据库
我试图使用ajax将数据插入数据库,但由于某些原因,我的代码没有这样做。以下是我到目前为止的情况: 索引页:Php 使用ajax将数据插入数据库,php,jquery,ajax,Php,Jquery,Ajax,我试图使用ajax将数据插入数据库,但由于某些原因,我的代码没有这样做。以下是我到目前为止的情况: 索引页: <form id="notify" action="" method="post" accept-charset="utf-8" enctype="multipart/form-data"> <div class="note-wrapper"> <div class="note-title">New Employee</d
<form id="notify" action="" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<div class="note-wrapper">
<div class="note-title">New Employee</div>
<input type="hidden" name="employee_id" value="<?php echo $employee_id; ?>" id="employee_id">
<p>Name</p>
<input type="text" name="name" id="name">
<p>Description</p>
<textarea name="text" id="text"></textarea>
<div class="action-wrapper">
<button class="cancel-btn">Cancel</button><button class="submit-btn flt-rt" type="submit" name="new_note">Add</button>
</div>
</div>
</form>
<script type="text/javascript">
$('#notify').submit(function() {
var employee_id = $('#employee_id').val();
var name = $('#name').val();
$.ajax({
type: 'POST',
data: {employee_id:employee_id, name:name},
url: 'notify',
success: function(data) {
alert(data);
}
});
});
</script>
新员工
URL是错误的。您正在发布到:
url: 'notify',
将其替换为实际URL。您的通知
脚本调用的Breeze::createEmployee
不正确。该方法需要一个数组作为参数,并传递2个标量变量
<?php
ini_set('display_errors', "Off");
$employee_id = $_POST['employee_id'];
$note_name = $_POST['name'];
if(!empty($employee_id)) {
$objBreeze = new Breeze();
//$objBreeze->createEmployee($employee_id, $note_name);
// ^^^^^^^^^^^^^^^^^^^^^^^^
// my guess would be you need somthing like this
// I have to guess as you dont show what
// $this->db->prepareInsert($params); does
$params = array('employee_id' => $_POST['employee_id'],
'name' => $_POST['name']);
$objBreeze->createEmployee($params);
}
createEmployee(数组$params)
需要一个数组作为参数。当您调用它时,$objBreeze->createEmployee($employee\u id,$note\u name)代码>您没有传递数组!!!!您正在传递2个标量参数*当我手动指向它时,我可以通过浏览器访问它。*共享您手动使用的url,我试过添加'notify.php',但没有什么区别。如果OP使用的是路由机制,这可能是正确的url。Ajax页面相对于调用此Ajax的页面的相对url是什么?谢谢朋友,关于标量变量,你是对的。
url: 'notify',
<?php
ini_set('display_errors', "Off");
$employee_id = $_POST['employee_id'];
$note_name = $_POST['name'];
if(!empty($employee_id)) {
$objBreeze = new Breeze();
//$objBreeze->createEmployee($employee_id, $note_name);
// ^^^^^^^^^^^^^^^^^^^^^^^^
// my guess would be you need somthing like this
// I have to guess as you dont show what
// $this->db->prepareInsert($params); does
$params = array('employee_id' => $_POST['employee_id'],
'name' => $_POST['name']);
$objBreeze->createEmployee($params);
}