我已经花了数小时(也许几天)在这个问题上。我知道这个问题以前已经问过,但答案总是如此模糊,以至于我的初学者经验水平难以理解。我会喜欢一些特定和简化的代码示例。如何从页面使用jQuery AJAX回调几个变量
我正在向changeDate.php提交AJAX调用。
的index.html
$(document).on("click", "#day-left", function(event){
changeDate = changeDate - 1;
$.ajax({
type: "POST",
url: "changeDate.php",
data: {
amount: changeDate,
loginName: "benjamin_lawson"
},
success: function(data) {
$("#date").html(data);
}
});
});
本页面收到Ajax。使用数据更新SQL,并创建24个变量($ hour1,$ hour2,$ hour3 ...)和数据。
changeDate.php
<?php
$amount = $_POST['amount'];
$user = $_POST['loginName'];
//server information variables
$dateName = date("mdY", strtotime("+" . $amount . " day"));
$conn = new mysqli($servername, $username, $password, $dbname);
for ($x = 1; $x <= 24; $x++) {
$sql = "SELECT `$dateName` FROM `$user` WHERE hour='$x'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
${"hour" . $x} = $row[$dateName];
}
}
}
//this creates 24 variables with all my information I want sent
//through my call back. ($hour1, $hour2, $hour3,...)
如何传递这些变量回到我的第一页中,保持变量名和变量数据的回调?
我看到一个相关的问题这一点,他们回答:
相关的问题,并回答 ...潜在的解决方案
你可以用json_encode返回任意多个变量()。
尝试在你的PHP:
<?php
echo json_encode(array($num1, $num2));
?>
You can add to that array , $num3, $num4, ... and so on.
在你的JS,你可以按如下方法访问每个号码。首先,你需要这行代码来解析编码的JSON字符串,在你的成功函数中。
var result = $ .parseJSON(output);
将结果设置为JSON对象。现在,您可以访问>结果中的所有字段:
结果[0] - $ NUM1在PHP 结果[1] - 在PHP $ NUM2
我真的很感激,如果有人能告诉我在代码中我需要做什么来完成这项工作。非常感谢!
非常感谢。这很容易遵循,像魅力一样工作! –