我想发送这个AJAX请求:
function sumMonthly() {
var cur_month = $('#month option:selected').attr("value");
var request = $.ajax({
type: "POST",
url: 'inc/functions.php',
data: {action: ["get_sum_income", "get_sum_expense", "get_cash_remaining"], cur_month:cur_month}
});
request.done(function(response){
$('#sum_income').html('<h1 class="positiveNum float-right">$' + response.get_sum_income + '</h1>');
$('#sum_expense').html('<h1 class="float-right">$' + response.get_sum_expense + '</h1>');
});
request.fail(function(jqxhr, textStatus){
alert("Request failed: " + textStatus);
});
};
并以某种方式访问返回响应,但我不确定如何只访问响应的某个部分并将其放在一个div中,然后将另一个部分放在另一个div中。这是我的一些PHP:
if(isset($_POST['action']) && in_array("get_sum_income", $_POST['action'])) {
//do stuff here, put result in $i;
if(!empty($i)) {
echo $i;
} else {
echo '$0.00';
};
};
答案 0 :(得分:1)
这不是您问题的真正“答案”,但我无法在评论中写下我想要的内容。
您需要使用PHP来整合代码并创建如下所示的数组:
$json = array
(
'varname1' => $variable1,
'varname2' => $variable2,
'varname3' => $variable3,
'varname4' => $variable4,
'varname5' => $variable5
);
$jsonstring = json_encode($json);
echo $jsonstring;
然后在客户端,您可以执行以下操作:
.done(function(response) {
$('#div1').text(response.varname1);
$('#div2').text(response.varname2);
$('#div3').text(response.varname3);
$('#div4').text(response.varname4);
$('#div5').text(response.varname5);
});
同样,这不是一个具体的解决方案,但它应该让你开始。
我总是写我的php,然后在没有客户端的情况下运行它,抓住屏幕上的输出并将其提交给jsonlint.com以确保它是json。