嗨,我是一个使用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>
1条答案
按热度按时间eit6fx6z1#
您现在正以一种奇怪的方式混合ajax和会话数据。在刷新页面之前,javascript使用的会话数据不会被php脚本更新。处理数据的正确方法是使用“success”函数:
在php中,将要发送到浏览器的数据作为json字符串输出: