Ajax - 注意:未定义的索引:id

时间:2014-03-16 00:53:15

标签: javascript php ajax

我正在学习所有这些PHP和脚本的东西,但我遇到了将信息发送到php的问题。我希望你能帮助我。谢谢。这就是问题所在:

  

注意:未定义索引:第103行**中的id

腓:

<?php 
echo $_POST['id']; //<< This is line 103
$sql = "SELECT id as ids,position FROM workerPosition WHERE '".$_POST['id']."'=id";
$rs = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($rs);
echo "Codigo:  <input type='text' name='ids' value='".$row['ids']."' disabled></br>";
echo "Nombre:  <input type='text' required='required' name='position'  placeholder='Max 50 caracteres' maxlength='50' value='".$row['position']."'>"; ?>

脚本:

$(document).ready(function() {
    $(".edit-position").click(function () {
        var id = $(this).attr('id') 


        $.ajax({
        type: "POST",
        data: {id:id},
        url: "editPosition.php",
        }).done(function( data ) {
            location.href = "editPosition.php"
        });
    });
}); 

HTML:

while($row = mysql_fetch_array($result))
{
echo "<tr id='". $row['id'] ."'>";
echo "<td>" . $row['position'] . "</td>";
echo "<td class='buto' id='". $row['id'] ."'> <input type='submit' class='edit-position' id='". $row['id'] ."' value='Edit' /></td>";
echo "</tr>";
 }

1 个答案:

答案 0 :(得分:2)

看起来你的ajax调用将在POST变量中具有正确的id,但当你再次location.hrefeditPosition.php文件时,没有POST变量,所以那时候你看到了那个问题。

我会在你的ajax调用中使用成功回调。

$.ajax({
    type: "POST",
    data: {id:id},
    url: "editPosition.php",
    success: function(returnData) {
       console.log(returnData);
    }
});

修改:我刚刚看到您的评论,如果您想以编程方式转到包含帖子数据的editPosition.php页面,则需要构建一个{{1}的隐藏表单像这样的动作:

editPosition.php