gpt4 book ai didi

javascript - 从查询中检索数据并将其加载到 JavaScript 变量中

转载 作者:行者123 更新时间:2023-12-03 11:39:48 24 4
gpt4 key购买 nike

我正在使用 Ajax/JQuery 将表单中的 var ($name) 发送到 page1.php 到 page2.php,而无需刷新页面;这是工作;当我单击“提交”按钮时,它会将 var $name 从第 1 页发送到 page2.php。我正在使用 JavaScript 库来制作图表 (amcharts),它有一个脚本需要将数据加载到 var 中(称为 ChartData),并且该数据是以 JSON 格式打印的查询结果:

Page1.php:

<script>
var chart;

// create chart
AmCharts.ready(function() {

// load the data
var chartData = AmCharts.loadJSON('http://localhost/Proyect/chart.php');
....

Page2.php(chart.php)

$name2=$_POST['name1'];

$link = mysqli_connect("localhost", "root", "", "Name") or die("Error " . mysqli_error($link));

if ($resultado = mysqli_query($link, "SELECT DATETIME, Name, Ineffective_Attempts, Call_Setup_Success_Rate
FROM adicional
WHERE BSC ='$name2'
GROUP BY DATETIME
ORDER BY DATETIME")) {

if ( !$resultado ) {
// Nope
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . mysqli_query;
die( $message );
}

$prefix = '';
echo "[\n";
while ( $row = $resultado->fetch_assoc() ) {
echo $prefix . " {\n";
echo ' "DATETIME": "' . $row['DATETIME'] . '", ' . "\n";
echo ' "Ineffective_Attempts": ' . $row['Ineffective_Attempts'] . ', ' . "\n";
echo ' "Call_Setup_Success_Rate": ' . $row['Call_Setup_Success_Rate'] . '' . "\n";
echo " }";
$prefix = ", \n";
}
echo "\n]";

$resultado->close();
}

mysqli_close($link);
?>

它只是对我的数据库执行查询并以 JSON 格式打印结果。 var ChartData 只是获取打印结果来构建图表。

重点是,page2.php (chart.php) 上查询结果的数据,将其加载到 page1.php 中的 JavaScript var (chartData) 中,以便它可以构建图表。

Page1.php表单

<form id="form" name="form">
<h3>Fill the name!</h3>
<label>Name:</label>
<input id="name" placeholder="Your Name" type="text">
<input id="submit" type="button" value="Submit">
</form>

在这种形式中,某人可以输入姓名;当他们按下提交按钮时,它将使用 ajax/jquery 函数获取该名称,并将其作为变量发送到 page2.php (chart.php)。 JavaScript 中的函数是:

$(document).ready(function() {
$("#submit").click(function() {
var name = $("#name").val();

if (name == '') {
alert("Insertion Failed Some Fields are Blank....!!");
} else {
// Returns successful data submission message when the entered information is stored in database.
$.post("chart.php", {
name1: name
}, function(data) {
alert(data);
$('#form')[0].reset(); // To reset form fields

});
}
});
});

在函数(数据)中,如果我放置警报(数据);当我按下“提交”按钮时,它会显示 page2.php (chart.php) 中的查询结果。

enter image description here

好吧,就像我说的,我需要

var chartData = AmCharts.loadJSON('http://localhost/Proyect/chart.php');

当我点击“提交”按钮时,加载或获取数据结果,这样我就可以制作图表了。

点击“aceptar”后,page1.php不向我显示图表,因为这就像var ChartData没有获取/加载数据,或者数据就像“erase”一样导致var $name是不像继续“生活”或类似的事情

我不知道我是否需要在函数(数据)中添加一些东西或者我必须做什么。我必须使用 session 才能使 page2.php (chart.php)中的 var $name 保持事件状态?那么var ChartData可以加载我查询的结果吗?

我不知道这个标题是否正确,但我真的不知道如何命名。

最佳答案

我不是 100% 确定您正在进行的所有事件部分是什么,但我认为您只是想将您的帖子更改为:

$.post("chart.php", {name1: name},
function(data) {
chartData = AmCharts.loadJSON(data);
$('#form')[0].reset(); // To reset form fields
});

当您直接调用 PHP 文件时,无论之前发送给它的任何数据如何:也就是说,您只是直接调用该文件,没有 POST/GET 查询变量。当您使用 POST 时,您实际上并没有在服务器上存储任何信息,除非您的代码被设置为这样做;在你的例子中,你只是发出 JSON。由于您希望 JSON 通过您的函数,因此请在提交函数的成功处理程序中调用它。

关于javascript - 从查询中检索数据并将其加载到 JavaScript 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26331815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com