在HTML中使用返回的JSON编码AJAX PHP响应<作为值


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.php200好了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*
            }
          });
        });
});

我已经尝试了几个小时寻找解决方案,但似乎还是不明白!

我在考虑在成功函数中加入一些东西,类似于以下内容的混合:

. 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元素