试图打印$ _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:

  $value) { echo "

".$key."

"; echo "

".$value."

"; echo "
"; } } ?>

由于您没有明确指定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 += "

"+key+"

"; string += "

"+value+"

"; } $("#pinta").html(string); }); });

pintaParte.php看起来像这样:

  $value) { $json[] = array('key' => $key, 'value' => $value); } } echo json_encode($json); flush(); ?> 

问题是,要读取命名对象属性,您需要将其设置为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资源管理器非常有助于调试这些问题。 Chrome和Safari内置了一个,Firefox有Firebug插件。 这些将允许您实时观察操作,包括实际发送的GET / POST参数。

从foreach循环中删除密钥:

  $value) { echo "

".$key."

"; echo "

".$value."

"; echo "
"; } } ?>