2016-11-24 3 views
1

У меня есть функция голосования на моей странице, где посетитель страницы должен нажать кнопку, затем этот клик будет сохранен в базе данных. Ничто не сохраняются в базе данных, хотя: Вот JQuery:jQuery Данные Ajax, не вставляемые в базу данных

jQuery(document).ready(function(){ 
    jQuery('.site-footer').hide(); 
    var counter; 
    var id; 

    jQuery('.fa-plus').click(function(){ 
     counter = 0; 
     id  = jQuery(this).closest('div').prop("id"); 
     counter = counter+1; 
     jQuery(this).css('color','green'); 
     jQuery(this).parent().html(counter); 
     alert(name); 

     jQuery.ajax({ 
      url : "<?php $_SERVER['PHP_SELF'] ?>", 
      type : "POST", 
      data : { 
       'action' : 'add_votes', 
       'counter': counter, 
       'id'  : id, 
      }, 
      success:function(response){ 
       console.log(response); 
      } 
     }); 
    }); 
}); 

и мой WordPress вставить заявление:

add_action('wp_footer', 'my_action_javascript'); 
function add_votes(){ 
    $id = $_POST['id']; 
    $votes= $_POST['counter']; 
    if(!empty($_POST)){ 
     global $wpdb;   
     $wpdb->insert(
      'fwwp_votes', 
      array(
       'bride_id' => $id, 
       'votes' => $votes 
      ), 
      array(
       '%d', 
       '%d' 
      ) 
     ); 

    } 
} 
add_action('wp_ajax_no_priv_add_votes', 'add_votes'); 
add_action('wp_ajax_add_votes', 'add_votes'); 
+1

У вас есть идея Jquery не работает или PHP? –

+1

Ну, я добавил это в свой PHP: '$ myfile = fopen (" data.txt "," w ") или die (" Не удалось открыть файл! "); fwrite ($ myfile, json_encode ($ _ POST)); 'и его возвращение данных coreect. –

ответ

1

Вы указали значение для url неправильно. Wordpress дает нам единый файл для использования - wp-admin/admin-ajax.php. В Wordpress вы всегда должны использовать собственный унифицированный файл admin_url('admin-ajax.php') для отправки запроса через AJAX.

Заменить

url : "<?php $_SERVER['PHP_SELF'] ?>", 

Для

url : "<?php echo admin_url('admin-ajax.php'); ?>", 

в $.ajax() параметров

+0

Теперь, когда я это делаю, никакие данные не передаются вообще –

+0

Посмотрите на свою консоль браузера на наличие ошибок, нажав кнопку '.fa-plus'. –

+0

. Ошибок нет. –

Смежные вопросы