如何以ajax形式传输php数据

时间:2017-07-03 09:38:09

标签: php ajax post

我在ajax函数中传输php数据时遇到问题。 我想要的是发送一个html表单,其中我有一个来自mysqli_fetch_array的php值。该值是帖子的编号,这是我的主键。 作为javascript的新手,我真的不知道如何做到这一点。 这是我的onclick功能代码:

<script>
 function foo () {
  $.ajax({
    url:"vote.php?no_post=<?php $post ['no_post'] ?>", //what I'd like to do
    type: "POST", //request type
    success:function(result)
    {
     alert(result);
   }
 });
 }
</script>

在php页面中,我有这个获取数组,这里我们专注于名为&#34; up&#34; :

    if(!isset($_POST['more']))
    {
    while($post = mysqli_fetch_array($res))
    {
    echo
        '<p>'.
            '<center>'.
            '<img src="image/'.$post['image_post'].'">'.
            '</center>'.
            '<br/>'.
            '<label>'.$post['desc_post'].'</label>'.
                            '<p>'.
                '<a id="darkBlue" href="account.php?no_post='.$post['no_post'].'">'.'@'.$post['login'].'</a>'.
                            '<p>'.
                '<label>'.$post['time'].'</label>'.
                            '<p>'.
                '<label>'.$post['vote_post'].' points'.'</label>'.
                    '<footer>';

    if (isset($_SESSION['login']))
    {
        echo        '<button class="btn btn-success" name="up" id="up" onclick="foo()">+</button>'.
                '&nbsp'.
                        '<button class="btn btn-danger" name="down" id="down">-</button>'.
                    '&nbsp'.
                            '<a href="commentaire.php?no_post='.$post['no_post'].'" class="btn btn-warning">Comment</a>'.
                    '<hr>';
    }

EDIT ***

最后我的php页面执行sql请求:

<?php 
 if (isset($_POST['up'])) // 2 buttons on the first html FORM
 {
$req="UPDATE post SET vote_post=vote_post+1
    WHERE no_post=".$_GET['no_post'].""; //picking up the value from my url
$res=mysqli_query($con,$req);
 }

else if (isset($_POST['down']))
{
$req2="UPDATE post SET vote_post=vote_post-1
     WHERE no_post=".$_GET['no_post'].""; //picking up the value from my URL
 $res2=mysqli_query($con,$req2);
 }

 else
     echo 'Error';
?>

谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您在下面的行中错过了echo

url:"vote.php?no_post=<?php echo $post['no_post'] ?>", //what I'd like to do

修改

正如您使用POST方法一样,它应该在data中传递,如:

$.ajax({
    url:"vote.php",
    type: "POST", //request type,
    data: {
       postCount : <?php echo $post['no_post']; ?>
    }
    success:function(result)
    {
     alert(result);
    }
 });

答案 1 :(得分:0)

你可以尝试这样的事情:

<script>
 function foo () {
  $.ajax({
    url:"vote.php",
    type: "POST", //request type
    data: {no_post: <?php echo '$post['no_post']'?>}
    success:function(result)
    {
     alert(result);
   }
 });
 }
</script>

最好使用data : [...]而不是在url中使用参数