$ .post()无法传递数据

时间:2019-07-04 11:53:17

标签: php jquery ajax

我想使用jQuery $ .post()方法将一些数据作为变量传递给PHP文件,然后在单击按钮后将结果显示在div中。但是无法在PHP文件中检索数据。

<script>
    $(document).ready(function () {
        $("button").click(function () {
            $.post("add.php", {
                fname: 'Billy'
            }, function () {
                $('#topic').load('add.php');
            });
        });
    });
</script>
</head>

<body>
    <br>
    <div class="container">
        <?php
            echo "Welcome ".get('Name')." !";
        ?>
        <div style="float: right">
            <?php
                echo "<a href='logout.php'> Log Out </a>";
            ?>
        </div>
        <br>
        <button>Add Topic</button><br>
        <div id='topic'></div>

// PHP文件:

<?php
    session_start();
    echo "".$_POST['fname']."";
    //if(isset($_POST['fname']))
    //{
        //$fname=$_POST['fname'];
        //echo " ".$fname." topic added!";
    //}
?>
  

注意:未定义的索引:第3行的C:\ xampp \ htdocs \ forum \ add.php中的fname

2 个答案:

答案 0 :(得分:2)

我对load函数不太熟悉,但是在我看来,您正在加倍努力从同一资源进行提取。

您可以执行以下操作:

$.ajax({
   type: "POST",
   url: 'add.php',
   data: {fname:"Billy"},
   success: function(response){
        $( "#topic" ).html(response);
        // or .text or whichever replacement method you need/works best
   },
});

add.php

if ( isset($_POST['fname'] ){
    echo "Topic " . $_POST['fname'] . " added!";
} else {
    echo "Could not find 'fname'!";
}

答案 1 :(得分:0)

$.ajax({
   type: "POST",
   url: 'add.php',
   data: {fname:"your data goes here"},
   success: function(response){
        // handle success
   },
   error: function(response){
        // handle error 
   },
});