簡體   English   中英

未使用jquery和ajax設置會話

[英]Sessions not setting using jquery and ajax

我有這段代碼,它使用jquery和ajax向另一個頁面發送請求,即

<html>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

 <input type="button" id="butt"  value="button11111111111111" >
 </html>
 <script>

    $("#butt").on('click',function(e)
    {
        $.ajax(
            {
                type:'POST',
                url:'testmysql.php',
                data:
                {
                    product_type:"cake";
                }

            });

    });


</script>

當我單擊上面的按鈕時,它應該將請求和數據發送到其他文件testmysql.php

<?php

session_start();

$_SESSION['type']=$_POST['product_type'];
echo $_SESSION['type'];
?>

但是,當我單擊按鈕后刷新另一頁時,我看不到任何回聲,並且給了我一個聲明

未定義的索引:product_type

因為,我是ajax的新手,而jquery是我缺少的東西?如果是,那么我應該怎么做才能使這項工作呢?

謝謝!

注意:它們都在同一目錄中。

  • 您添加了; 在數據對象的末尾。 刪除並嘗試。
  • 並且您將ajax請求發送到testmysql.php頁面,則在發送請求時$_POST['product_type']將可用。 當刷新頁面時,您不會向testmysql.php頁面發送任何發布請求。

首先,從此語句中刪除分號( ; ),

product_type:"cake";
                   ^

否則會給你語法錯誤 現在談到您的問題。

當我單擊按鈕后刷新另一頁時,我看不到任何回聲,它給了我通知,指出未定義的索引:product_type

這是因為當你刷新頁面testmysql.php,$_POST數組是空的,就沒有命名的指數product_type$_POST數組。 您可以使用var_dump($_POST);進行驗證var_dump($_POST);

testmysql.php頁面上,您可以檢查是否設置了$_POST['product_type']如下所示:

<?php
    session_start();

    if(isset($_POST['product_type'])){
        $_SESSION['type']=$_POST['product_type'];
        echo $_SESSION['type'];
    }
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM