0

如何使用 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;
4

2 回答 2

0

使用这样的东西

  $('#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";
于 2012-10-27T13:23:25.580 回答
0

原始代码的主要问题是发送的数据没有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*/
})
于 2012-10-27T13:34:09.357 回答