从前端到后端再到前端发送数据

pwuypxnk  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(406)

嗨,我是一个使用javascript的初学者,我有一个带有javascript代码的html页面,它接收来自服务器的数据并显示在当前页面上,我要做的是使用这些数据并将其发送到另一个php页面,以便我的sql查询返回结果。

<script>
    var json = sessionStorage.xhr;
    var object = JSON.parse(json);
    var hard =  object["red-fruits"];
    var string = JSON.stringify (hard);
    var stringData = encodeURIComponent(string);
    $.ajax({
        type: "POST",
        url: "http://localhost/web/main.php",
        data: {"dataA" : stringData}, 
        cache: false,
            success: function(){
                console.log("OK");
            }
    });
    var user = sessionStorage.getItem('impData');
    console.log(user);
</script>

这是我的php页面代码,我在这里做的是从html页面获取数据“dataa”,并将其发送到这个php页面进行sql查询,得到的结果是“$haha”数组,并使用javascript会话函数将其发送回html页面。但我的控制台只显示“空”,任何人都可以告诉我,如果我做错了什么或有任何建议,将不胜感激。

<?php

$connection = mysqli_connect("localhost","root","","") or 
die("Error " . mysqli_error($connection));
    if (isset($_POST['dataA'])) {
        echo $name = $_POST['dataA'];
    }
    else {
        echo "Error";
    }

$string = str_replace("]", "", str_replace("[", "", str_replace('"','',$falcon)));
$array = explode(',', $string);
$array2= implode("', '",$array);

$sql = // "SQL query"
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . 
mysqli_error($connection));

while($row = mysqli_fetch_array($result)) {
    $haha[] =  $row['row_name'];
}

?>

<script type="text/javascript">
    var tills = <?php echo '["' . implode('", "', $haha) . '"]' ?>;
    console.log (tills);
    sessionStorage.setItem('impData', tills);
</script>
eit6fx6z

eit6fx6z1#

您现在正以一种奇怪的方式混合ajax和会话数据。在刷新页面之前,javascript使用的会话数据不会被php脚本更新。处理数据的正确方法是使用“success”函数:

$.ajax({
        type: "POST",
        url: "http://localhost/web/main.php",
        data: {"dataA" : stringData},
        dataType : "json",
        cache: false,
            success: function(data){
                console.log(data);
            }
    });

在php中,将要发送到浏览器的数据作为json字符串输出:

echo json_encode($your_object);

相关问题