-2

我有一个项目表,当用户选择一个项目时,我想将该 id 设置为一个 php 变量,因此当它点击“确定”按钮时,我将该项目与用户相关联。他一次只能选择一项。我尝试了一些 php / ajax 教程,但似乎没有用。

以下是代码:

<table id="tableItens" style="border:1px solid #000000;" cellpadding="0" cellspacing="0">
<tbody>
    <?php foreach($produtoList as $produto) {
        if ($columnCounter == 0) { ?>
            <tr style="background-color:#FFFFFF;">
        <?php    
        } 
    ?>              
            <td id="<?php echo $produto['id'] ?>" width=160px; height="110" onclick="<?php echo 'selectRow(' . $produto['id'] . ');' ?>" style="text-align: center; border:1px solid #000000;border-bottom:0;"><?php echo'<img align="center" width="150" height="100" src="/resources/images/' . $produto['nome_imagem'] . '"></img>' ?></td>
            <?php $columnCounter++; ?>                  
        <?php if ($columnCounter == 3) { 
            $columnCounter = 0; ?>
            </tr>
        <?php } ?>      
    <?php } ?>
</tbody>

<script type="text/javascript">
function selectRow(id) {
  var table = document.getElementById("tableItens");
  document.getElementById(id).style.backgroundColor = 'red';

  $.ajax
  ({
      type: "POST",
      url: "vote.php",
      data: id,
      cache: false,
      success: function(data)
      {

        alert("ok");
      }
 });    
}
</script>

我必须包含一个ajax文件或其他东西吗?也许是一个 jquery 参考?

我在页面开头使用了 var_dump($_POST) 并且没有显示任何内容。我正在将值发送到我所在的同一页面。

4

2 回答 2

3

关于数据字段不正确的答案是正确的,但这种简单的东西不应该是“POST”,而应该只是一个 GET,根本不需要“数据”字段。只需将 URL 字段更改为:"vote.php?id=" + id

像这样:

$.ajax 
({ 
    type: "GET", 
    url: "vote.php?id=" + id, 
    cache: false, 
    success: function(data) 
    {  
       alert("ok"); 
    } 
});  
于 2012-07-15T01:32:13.530 回答
1

您没有正确设置 ajax 请求的数据。参考http://api.jquery.com/jQuery.ajax/

data:要发送到服务器的数据...对象必须是键/值对

注意:它也可以是字符串,但您必须正确格式化

尝试

 data: {uid : id},

当然,你必须包含对 jQuery 的引用,你正在使用 jQuery

为了测试这样的东西,我建议使用大多数现代浏览器通常附带的 JS 控制台。您可以将 POST 更改为 GET 并查看生成的 URL 类型。

于 2012-07-15T00:47:27.483 回答