我已經花了數小時(也許幾天)在這個問題上。我知道這個問題以前已經問過,但答案總是如此模糊,以至於我的初學者經驗水平難以理解。我會喜歡一些特定和簡化的代碼示例。如何從頁面使用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
我真的很感激,如果有人能告訴我在代碼中我需要做什麼來完成這項工作。非常感謝!
非常感謝。這很容易遵循,像魅力一樣工作! –