无法使用Jquery从行表中获取Post值ID到PHP

时间:2017-06-17 16:18:53

标签: php jquery mysql json ajax

我知道我的问题可能重复,但我已经查看了大量有同样问题的问题,但没有一个解决方案适合我。

非常简单,获取item-id值并将其POST到del.php。 点击后我无法在php中获取POST值。

<?php
  include '../include/db.php';

  $result = $mysqli->query("SELECT * FROM usuario WHERE nivel = '1'");

  while($row = mysqli_fetch_array($result))
  {
  echo "<tr>";
  echo "<td class='item-id'>" . $row['id'] . "</td>";
  echo "<td>" . $row['nome']. "</td>";
  echo "<td>" . $row['email']. "</td>";
  echo "</tr>";
  }

  ?>

  <script type="text/javascript">
    $("tr").click(function() {

    var id = $(this).find('.item-id').text();

    $.post('del.php',{id: id},function(json){

    window.location.href = "http://localhost/unesc/3/admin/del.php";
    }, "json")
});

</script>

del.php

<?php 

if (isset($_POST['id'])){
    $id = $_POST['id'];
    echo $id;
} else {
    echo "erro";
}

 ?>

del.php只需获取$ _post [&#39; id&#39;]并回复它。 window.location就在那里,所以我不必手动输入地址。 触发器可能不一定是Click,它可以是一个Button,也适合我。

编辑:使用$ .ajax运行POST,但现在,使用firebug我注意到del.php中的帖子一直空着。

EDIT2:获得了del.php帖子回复,但是作为一个错误,它表示&#39; id&#39;不存在。

3 个答案:

答案 0 :(得分:1)

如果您需要THIS,那么我使用的两个页面的代码

del2.php

<script type="text/javascript" language="javascript" src="jquery.min.js"></script>

<?php
//include '../include/db.php';
include 'includeconnect.php';

//$result = $mysqli->query("SELECT * FROM usuario WHERE nivel = '1'");
$result = mysql_query("SELECT * FROM usuario WHERE nivel = '1'");

while($row = mysql_fetch_array($result))
{  
echo "
<table border='1'>
<tr>";
echo "<td class='item-id'>" . $row['id'] . "</td>";
echo "<td>" . $row['nome']. "</td>";
echo "<td>" . $row['email']. "</td>";
echo "</tr>
</table>
</br>";
}


echo"<div id='show_responce'>I am a text on page del2.php and I am pretty much useless apart from showing you where the responce will display</div>"
?>

<script type="text/javascript">
$("tr").click(function() {

var rep = $("#show_responce");

var id = $(this).find('.item-id').text();

var dataString = 'id=' + id;
    $.ajax({
        type: 'post',
        url: 'del.php',
        data: dataString,
        success: function(html) {
                 rep.empty().append(html);
                 rep.fadeIn("slow")
        }
    });     

});

</script>

这是您修改过的del.php

<?php 

if (isset($_POST['id'])){
$id = $_POST['id'];
echo "I am coming from del.php and the ID you clicked on is $id";
} else {
echo "error";
}

?>

顺便说一句,因为我的帐户信誉很低,我不能问你在这个窗口试图做什么。但是无论如何。而不是你要求的是什么基本上是为了确保del.php获得id的值,因为你会看到我在del2.php上显示它,这是我发出请求的页面。

答案 1 :(得分:0)

library(rJava)
.jinit()
> EVT <- J("java.awt.event.ActionEvent")
> aEVT <- new(EVT, "StringObject", 1001L, "Hello")
> aEVT
[1] "Java-Object{java.awt.event.ActionEvent[ACTION_PERFORMED,cmd=Hello,when=0,modifiers=] on Str}"

答案 2 :(得分:0)

可能的错误:

  1. }, "json")这里的最后一个参数意味着,该函数要求您从del.php文件返回有效的JSON字符串。

  2. window.localtion.href之后,您无法访问以前的数据,因为它会重定向到另一个页面,因此您会丢失以前的所有数据。