输入类型文本意味着写一个新的类别(id ='new_cat')之后我有一个按钮,所以,我得到了这个ajax代码,并没有发送变量
$(document).on('click', '#btn_new_cat', function(){
var new_cat = $('#new_cat').val();
var id = '<?php echo $not_cat_id; ?>';
$.ajax({
type: 'post',
url: 'dist/scripts/add_cat.php',
data: {
cat_id:id,
new_cat: new_cat
},
success: function (data) {
console.log(data);
}
});
});
add_cat.php
<?php
include "../../session.php";
$add_cat = $_POST['new_cat'];
$not_cat_id = $_POST['cat_id'];
$sql_ins_cat = "INSERT INTO categories(title) VALUES (:cat)";
$ins_cat = $conn->prepare($sql_ins_cat );
$ins_cat ->bindParam(":cat", $add_cat);
$ins_cat ->execute();
echo $not_tipo_id;
?>
由于
注意:我在本地,他们发送的是空的add_cat.php,因此,我成功的所有是一个空格,在DB(mysql)中插入空。在add_cat.php中,我只是从vars中发出回声
答案 0 :(得分:0)
我认为你错过了
ajax方法中的contentType 属性。
当你传递json时,它应该是&#34; application / json&#34;
$.ajax({
type: 'post',
url: 'dist/scripts/add_cat.php',
contentType: 'application/json',
data: {
cat_id:id,
new_cat: new_cat
},
success: function (data) {
console.log(data);
}
});