Ajax POST - >传递无数据

时间:2018-05-18 12:40:55

标签: php ajax

我是初学者所以告诉我,如果我做了一些根本错误的事情。 我试图用ajax发布数据。帖子本身有效,但它没有传递任何数据。

<script type="text/javascript">
     $(document).ready(function(){
        $("button").click(function(){
            $.ajax({
                    type: 'POST',
                    url: 'processwifi.php',
                    data:{'postid': postid}, 
            success: function(response){
                    alert('it works');
                    }
                    });
        });
    });
</script>

and processwifi.php

<?php
            $id = isset($_POST["postid"]);

            $link = new mysqli("127.0.0.1","***","***","secretariaat");
                    if (!$link) {
                        echo "Error: Unable to connect to MySQL." . PHP_EOL;
                        echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
                        echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
                    exit;
                    }

                $sql = "UPDATE wifi SET gebruikt='1' WHERE wifi.id='$id'";

                    if ($link->query($sql) === TRUE) {
                        echo "Update of record is '$id' successfully";
                        } else {
                            echo "Error: " . $sql . "<br>" . $conn->error;
                          }

                mysqli_close($link); 



                //Redirect result page
            //header('HTTP/1.1 301 Moved Permanently');
            //header('Location: wificode.php');
?>

有人能帮帮我吗?

非常感谢提前。

2 个答案:

答案 0 :(得分:0)

您需要定义变量postid

<script type="text/javascript">
     $(document).ready(function(){
        $("button").click(function(){
            var postid = 10; // define postid here
            $.ajax({
                    type: 'POST',
                    url: 'processwifi.php',
                    data:{'postid': postid}, 
            success: function(response){
                    alert('it works');
                    }
                    });
        });
    });
</script>

答案 1 :(得分:0)

问题是你还没有陈述postid应该表明什么。您正在尝试从variable / field / property获取永远不会声明和设置的值。

在以下示例中,我将postid的值设置为1https://jsfiddle.net/n5rc6u3g/

尝试调试&#34;网络&#34;选项卡,您会注意到已发送的表单数据表明postid1

此外,您的后端代码存在根本性错误。您尝试使用postid方法获取isset($_POST["postid"]) isset方法的签名是:

bool isset ( mixed $var [, mixed $... ] )

意味着它返回booleantruefalse。这反过来表明该值是否设置而不是null。 http://php.net/manual/en/function.isset.php