您好我是初学者使用JavaScript我有这个带有JavaScript代码的html页面,它从服务器接收数据并将其显示在当前页面上,我想要做的就是使用该数据并发送它到我的SQL查询的另一个PHP页面来获取结果。
<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页面代码,我在这里做的是获取数据&#34; dataA&#34;从该html页面发送到SQL查询的PHP页面,并获得结果,这是&#34; $ haha&#34;数组并使用JavaScript会话函数将其发送回HTML页面。但我的控制台只显示&#34; null&#34;任何人都可以告诉我,如果我做错了什么或者有什么建议会非常感激。
<?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>
答案 0 :(得分:1)
您现在正在以奇怪的方式混合ajax和会话数据。在您刷新页面之前,您的javascript使用的会话数据不会被php脚本更新。处理数据的正确方法是成功&#34;成功&#34;功能:
$.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);