PHP通过AJAX更新字段值

时间:2012-07-15 00:37:58

标签: php javascript ajax

我有一个项目表,当用户选择一个项目时我想将该id设置为php变量,所以当它点击按钮“Ok”时,我将该项与用户关联起来。他一次只能选择一件物品。我已经尝试了一些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),但没有显示任何内容。我正在将值发送到同一页面。

2 个答案:

答案 0 :(得分:3)

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

像这样:

$.ajax 
({ 
    type: "GET", 
    url: "vote.php?id=" + id, 
    cache: false, 
    success: function(data) 
    {  
       alert("ok"); 
    } 
});  

答案 1 :(得分:1)

您尚未正确设置ajax请求的数据。 请参阅http://api.jquery.com/jQuery.ajax/

  

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

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

 data: {uid : id},

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

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