hyphen
hyphen

Reputation: 967

Use parts of AJAX response in different divs

I want to send this AJAX request:

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">&#36;' + response.get_sum_income + '</h1>');
    $('#sum_expense').html('<h1 class="float-right">&#36;' + response.get_sum_expense + '</h1>');
});
request.fail(function(jqxhr, textStatus){
    alert("Request failed: " + textStatus);
});
};

and somehow access the return response, but I'm not sure how to access only a certain part of the response and put it in one div, then put another part in another div. Here's some of my 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 '&#36;0.00';
};

};

Upvotes: 0

Views: 781

Answers (1)

TimSPQR
TimSPQR

Reputation: 2984

This is not a real "answer" to your problem, but I can't write what I want in a comment.

You'll need to work on your PHP to consolidate the code and make an array something like this:

$json = array
             (
               'varname1' => $variable1,
               'varname2' => $variable2,
               'varname3' => $variable3,
               'varname4' => $variable4,
               'varname5' => $variable5
              );
$jsonstring = json_encode($json);
echo $jsonstring;

Then on client side you can do something like:

.done(function(response) {
       $('#div1').text(response.varname1);
       $('#div2').text(response.varname2);
       $('#div3').text(response.varname3);
       $('#div4').text(response.varname4);
       $('#div5').text(response.varname5);
                          });

Again, this is not a specific solution, but it should get you started.

I always write my php, then run it without the client, grab the output on the screen and submit it to jsonlint.com to make sure it's json.

Upvotes: 1

Related Questions