2016-06-22 3 views
0

У меня есть кнопка после текста типа ввода, предназначенного для написания новой категории (id = 'new_cat'), поэтому я получил этот код ajax и не отправляю переменныеНе удается правильно отправить vars в 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 я только делаю эхо от вары

+0

, что вы имеете в виду, "не отправлять"? Они не отображаются в php $ _POST? вы использовали сетевой сниффер, и они не присутствовали в запросе, пока он был на проводе? –

+0

Я нахожусь на локальном хосте, они посылают и «работают», но с EMPTY, поэтому я получаю успех только в белом пространстве. В add_cat.php я делаю только эхо из vars – JPeter

+0

где/когда установлен $ not_cat_id? Можете ли вы повторить его в другом месте на странице или он должен изменяться с некоторыми действиями на странице пользователем? – DJC

ответ

0

Я думаю, что вам не хватает

CONTENTTYPE атрибута в методе Ajax.

, как вы передаете JSON это должно быть "применение/JSON"

 $.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); 
      } 
     });