我看过许多类似的问题,但似乎没有一个适合我。它们要么不相关,要么过于复杂——我是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元素