[英]Using returned JSON encoded AJAX PHP response within HTML <div> as values?
我已經通過許多類似的問題四處尋找,但似乎沒有一個適合我。 它們要么不相關,要么極其復雜-我是javascript新手。
我所擁有的是一個AJAX表單,該表單需要一些輸入,然后將其發布到form.php中,在其中進行JSON_encoded並作為響應回顯回AJAX調用。
<?php
... calculations
..
.
echo json_encode(array("monthly_saved" => $monthly_saved, "peak" => $peak));
?>
這已成功處理;
POST form.php 200 OK 41毫秒
HeadersPostResponseHTML
6018066.666666666667200{"monthly_saved":6.6666666666667,"peak":"10"}
盡管現在我需要利用這些值,並在HTML內部將它們用作內容!
救命!
我的AJAX功能:
$(function () {
$('#quote_form').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "form.php",
data: $('#quote_form').serialize(),
dataType: "json",
cache: false,
success: function(data)
{
*WHAT I NEED TO FIGURE OUT*
}
});
});
});
我已經嘗試了數小時的解決方案,但似乎無法弄清楚!
我當時正在考慮在成功功能中加入以下兩者之間的混合點:
document.getElementById(“ graph_var_1”)。innerHTML =“(data.monthly_saved”;
和
$( “#graph_var_1”)HTML(data.monthly_saved);
什么會起作用?
我需要用這些變量填充的HTML是:
<div class="result_field"><div id="graph_var_1"></div> (saved <div id="graph_var_2"></div>%)</div>
首先,這是:
6018066.666666666667200{"monthly_saved":6.6666666666667,"peak":"10"}
是無效的JSON,您之前必須回顯數字6018066.666666666667200
,因此應刪除它。
現在,響應將作為data
進入success
回調。 如果要訪問響應的特定部分,可以執行以下操作:
alert(data.monthly_saved);
這應該提醒6018066.666666666667200
您應該可以使用$("#graph_var_1").html(data.monthly_saved);
因為您已經完成了填充DOM元素的准備
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.