无法在AJAX中正确发送变量

时间:2016-06-22 15:14:47

标签: javascript php jquery ajax

输入类型文本意味着写一个新的类别(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中发出回声

1 个答案:

答案 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);
            }
        });