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

jquery将数据发布到php脚本,并立即在同一php脚本文件中显示它,php,jquery,ajax,Php,Jquery,Ajax,如何使用ajax将数据发布到php脚本(showitemid.php),并在超链接的thickbox中立即打开相同的脚本(showitemid.php),单击并显示发布的数据。下面是我的代码: positemid.php $data = ''; if (isset($_POST['data'])) { $data = $_POST['data']; } elseif (isset($_GET['data'])) { $data = $_GET['data']; } ech

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

positemid.php

$data = ''; 

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


echo 'd='.$data;
此文件由多个复选框组成。用户将勾选复选框并单击超链接。单击超链接时,所有选中的复选框值将发布到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";

原始代码的主要问题是发送的数据没有名为
data
的键来匹配
$\u POST['data'])
因此
$\u 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*/
})

对同一个文件发出两个请求是没有意义的…一个有数据,另一个没有。对于
load()
version服务器不知道要填充哪些数据,请提供完整的代码,我如何打开thickbox并显示数据遵循thickbox脚本的文档。我不知道你的html是什么样子(你从来没有发布过)或者什么元素包含数据,尽管我知道Thickbox是lightbox的模仿者,但我不知道它来自哪里。你没有打开thickbox插件的工作代码吗?显示thickbox的代码是:tb_show(“Items”,“showitemid.php?&tb_iframe=true&height=120&width=400”,“/images/cart.jpg”);代码中的mycontainer位于同一页上,但我希望它位于新的thickbox窗口中我刚刚指定了class=“thickbox”,单击它窗口将打开。类似地,在我的jquery中,我使用了tb_show,它显示了一个类似lightbox的弹出窗口