2015-10-24 1 views
1

Я использую следующий код, чтобы получить данные из поля ввода и отправить его в PHP с помощью POST но не работаетAJAX не отсылают данные

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#id_1").change(function() { 
      var rat1 = $(this).val(); 
      $.ajax({ 
       url: "upload.php", 
       type: "post", 
       data: rat1, 
       success: function (response) { 
        // you will get response from your php page (what you echo or print) 

       }, 
       error: function(jqXHR, textStatus, errorThrown) { 
        console.log(textStatus, errorThrown); 
       } 


      }); 
     }); 
    }); 
</script> 

это форма ввода

<input type="number" name="your_awesome_parameter" id="id_1" class="rating" data-clearable="remove" 
 
          data-icon-lib="fa" data-active-icon="fa-heart" data-inactive-icon="fa-heart-o" 
 
          data-clearable-icon="fa-trash-o"/>

ответ

2

Необходимо указать имя параметра. Оно должно быть:

data: { param_name: rat1 } 

Тогда в upload.php вы к нему доступ с $_POST['param_name']

+0

попробовал это, но до сих пор ничего. Сообщение пусто на странице upload.php :( –

+0

Как вы определяете, что почта пуста? –

+0

$ x = $ _POST ['param_name']; echo $ x; $ _SESSION ['var'] = $ _POST [ 'param_name']; var_dump ($ _ POST [ 'param_name']); var_dump ($ _ SESSION [ 'вар']); var_dump ($ _ POST);? –

0

Try таким образом люди

function realizaProceso(valorCaja1, valorCaja2){ 
    var parametros = { 
      "valorCaja1" : valorCaja1, 
      "valorCaja2" : valorCaja2 
    }; 
    $.ajax({ 
      data: parametros, 
      url: 'ejemplo_ajax_proceso.php', 
      type: 'post', 
      beforeSend: function() { 
        $("#resultado").html("Procesando, espere por favor..."); 
      }, 
      success: function (response) { 
        $("#resultado").html(response); 
      } 
    }); 

}

1

Только в случае, ты импортировал Jquery в ваш проект? Я проверил ваш код, и я с небольшим изменением, указанным Barmar, и он работает для меня.

Попробуйте использовать этот код в вашем php-файле и посмотреть, есть ли у вас ответ в консоли разработчика.

$data = $_POST["param_name"]; 
echo json_encode([$data]); 
+0

Не могли бы вы поделиться кодом, который вы использовали? Также я не уверен, что положить в ответ e и как это работает, возможно, поэтому это создает проблему –

0

change на входе типа number не работает в старых версиях браузеров, я думаю, не уверен. Но попробуйте это ниже, поскольку вы используете тип ввода number.

$("#id_1").on("mouseup keyup",function() { 
    //your logic here 
}); 

и передачи данных, как уже было сказано другими:

data: { param_name: rat1 } 
Смежные вопросы