PHP通过AJAX更新字段值


PHP updating field value through 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),并且没有显示任何内容。我正在将值发送到中的同一页面

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

像这样:

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

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

数据:要发送到服务器的数据。。。对象必须是密钥/值对

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

尝试

 data: {uid : id},

当然,您必须包含对jQuery的引用,您使用的是jQuery

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