javascript - 将数据从前端发送到后端到前端
问题描述
嗨,我是使用 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 session 函数将其发送回 HTML 页面。但是我的控制台只显示“null”,任何人都可以告诉我我做错了什么或有任何建议将不胜感激。
<?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>
解决方案
您现在正在以一种奇怪的方式混合 ajax 和会话数据。在您刷新页面之前,您的 javascript 使用的会话数据不会被 php-script 更新。处理数据的正确方法是在“成功”函数中:
$.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);
推荐阅读
- node.js - 事件中心已关闭 Fabric 编写您的第一个应用程序
- c# - 为什么 RichTextBox 在文档开始之前总是包含多余的字符?
- javascript - 使用 Firebase 数据库 JavaScript 在 Web 应用程序上即时聊天
- twitter-bootstrap-3 - 导航项打开时更改字形图标的类
- python-2.7 - Python - Networkx:具有一定权重的邻居
- java - 将 java 应用程序注册为 Windows 10 中的默认浏览器
- c# - 重置重复的协程延迟
- linux - 如何在 grep 中显示搜索词
- javascript - Highcharts 不导出创建后添加的自定义 SVG 元素
- ios - 如何设置子视图的委托