Пытаться печатать $ _POST не работает

Я пытаюсь напечатать значения любых текстовых полей. Я использую AJAX, jQuery и PHP, но код не работает. Он не показывает внутри div id='pinta' , он пуст.

JavaScript:

 $('#Enviar0').click(function() { var input1 =$('#primero input').serialize(); $.ajax({ type:"POST", url:"pintaParte.php", data:input1, success: function(data) { $("#pinta").html(data); } }); }); 

PHP:

 <?php if(isset($_POST['input1'])){ foreach ($_POST['input1'] as $key => $value) { echo "<p>".$key."</p>"; echo "<p>".$value."</p>"; echo "<hr />"; } } ?> 

Поскольку вы явно не указываете имя переменной post, она не будет существовать на стороне сервера.

Ваш элемент данных должен выглядеть так:

data: {"input1": input1}

Попробуйте это, используя JSON:

 $('#Enviar0').click(function() { var input1 = $('#primero input').serialize(); $.ajax({ type: "POST", url: "pintaParte.php", data: {"input1": input1} success: function(data) { var key; var value; var string = ''; // You have to parse the json array. for(var i = 0; i < data.length ; i++) { key = data[i].key; value = data[i].value; string += "<p>"+key+"</p>"; string += "<p>"+value+"</p>"; } $("#pinta").html(string); }); }); 

Где pintaParte.php выглядит так:

 <?php $input1 = isset($_POST['input1']) ? $_POST['input1'] : array(); if(sizeof($input1) == 0) { $json[] = array(); } else { foreach ($input1 as $key => $value) { $json[] = array('key' => $key, 'value' => $value); } } echo json_encode($json); flush(); ?> 

Проблема в том, что для чтения атрибута named object вам нужно установить это как ключевое значение в объекте JavaScript – на данный момент вы просто передаете строку.

Попробуй это:

 $('#Enviar0').click(function() { var input1 =$('#primero input').serialize(); $.ajax({ type:"POST", url:"pintaParte.php", data: { input1: input1 }, success: function(data) { $("#pinta").html(data); } }); }); 

Вы можете использовать браузер AJAX Explorer, очень полезный для отладки таких проблем. У Chrome и Safari есть один встроенный, а в Firefox есть плагин Firebug. Они позволят вам наблюдать за операцией в режиме реального времени, включая параметры GET / POST, которые фактически отправляются.

Удалите ключ из цикла foreach:

 <?php if(isset($_POST['input1'])){ foreach ($_POST as $key => $value) { echo "<p>".$key."</p>"; echo "<p>".$value."</p>"; echo "<hr />"; } } ?>