jquery将数据发布到php脚本并立即显示在同一个php脚本文件中

如何使用ajax将数据发布到php脚本(showitemid.php)并立即在超链接上的厚箱中打开相同的脚本(showitemid.php)并显示发布的数据。 以下是我的代码:

postitemid.php

该文件包含多个复选框。 用户将勾选复选框并单击超链接。 单击超链接时,所有选中的复选框值将发布到showitemid.php,然后立即showitemid.php将在厚箱中打开并显示接收的值。 但是我的代码中没有收到任何值? 需要帮忙。

$('#showitem).click(function() { var data = $('input:checkbox:checked').map(function() { return this.value; }).get(); $.ajax({type: 'POST', url: 'showitemid.php', data: data,success: success,dataType: dataType}); }); 

showitemid.php

 $data = ''; if (isset($_POST['data'])) { $data = $_POST['data']; } elseif (isset($_GET['data'])) { $data = $_GET['data']; } echo 'd='.$data; 

使用这样的东西

  $('#showthickbox').click(function() { var data = $('input:checkbox:checked').map(function() { return this.value; }).get();//your code $.post("showitemid.php",{data:data},function(data){ $("#thickbox").html(data); }) }) }) 

在你的showitemid.php

 echo "your data"; 

原始代码的主要问题是发送的数据没有匹配$_POST['data'])键命名data $_POST['data'])因此$_POST['data'])为空。 您必须发送键/值对,您只发送没有键的值。 由于您经常使用相同的变量名,因此您可能会感到有些困惑

 var dataArray = $('input:checkbox:checked').map(function() { return this.value; }).get(); var dataToServer= { data : dataArray} /* now have the key to match $_REQUEST in php */ 

现在可以使用AJAX速记方法load()来填充内容

 $('#myContainer').load( "yourfile.php", dataToServer, function(){ /* new html exists run open thickbox code here*/ })