2015-12-24 3 views
2

я делаю это в CodeIgniterPHP переменную для объекта JSON

вот мой PHP переключатель - корпус часть

case 'check': 
$balance = $this->Model_transactions->getUserBalance($this->input->post('userId')); 
$needToPay = floatval($this->input->post('tuitionRate'))/2; // 50% 
if ($balance >= $needToPay) { 
$results = '{"Result": "OK";"Balance":'.$balance.'}'; 
} 
break; 

здесь код JSON

$.ajax({ 
url: base_url + "api/hires/check/?callback=?", 
type: "POST", 
dataType: "jsonp", 
data: { 
userId: $(".navigation").data("login"), 
tuitionRate: t.find("#txt-hire-rate").val() 
} 
}).done(function (a) { 
if (a) if ("OK" != a.Result) { 
alert (a.Balance); 

Я хочу использовать переменную баланса php $ в моем jQuery. пожалуйста помоги.

ответ

1

Не пытайтесь строить строковый литерал, вместо этого, построить массив и использовать json_encode

$results = json_encode(array('Result' => 'OK', 'Balance' => $balance), true); 

Затем вернуть его, когда вы будете готовы.

return $results; 
+0

получил (а) Спасибо! но как я могу использовать это в jquery. вот что я пытаюсь сделать. .done (функция (a) { var data = $ .parseJSON (a); alert (data.Result); – Dhananjaya

1

Отредактируйте скрипт

case 'check': 
$balance = $this->Model_transactions->getUserBalance($this->input->post('userId')); 
$needToPay = floatval($this->input->post('tuitionRate'))/2; // 50% 
if ($balance >= $needToPay) { 
$data = array(
    'Result' => 'OK', 
    'Balance' => $balance 
); 
echo json_encode($data); 
} 
break; 

Корректировать JQuery скрипт

$.ajax({ 
type: "POST", 
url: '<?php echo base_url()."api/hires/check/?callback=?";?>', 
dataType: 'json', 
data:{userId: $(".navigation").data("login"), 
tuitionRate: t.find("#txt-hire-rate").val()}, 
success: function(data){ 
      if(data.Result != "OK"){ 
        alert(data.Balance); 
      } 
      } 
}); 
1

PHP переключатель - корпус часть

case 'check': 
    $balance = $this->Model_transactions->getUserBalance($this->input->post('userId')); 
    $needToPay = floatval($this->input->post('tuitionRate'))/2; // 50% 
    if ($balance >= $needToPay) { 
    $results = '{"Result": "OK";"Balance":'.$balance.'}'; 

    // add this in your code 
    <script> 
     document.getelementbyId('balance').innerHTML=$balance; 
    <script> 
    } 
    break; 
    ?> 
    <div id='balance' style='display:none;'></div> // added in the code 

код

JSON
var bal=$(#balance).html(); // use this variable where you want to 
$.ajax({ 
url: base_url + "api/hires/check/?callback=?", 
type: "POST", 
dataType: "jsonp", 
data: { 
userId: $(".navigation").data("login"), 
tuitionRate: t.find("#txt-hire-rate").val() 
} 
}).done(function (a) { 
if (a) if ("OK" != a.Result) { 
alert (a.Balance); 

Я сделал изменения в php-коде и добавил переменную в js, которую можно использовать в любом месте в js, который вы хотите.

Смежные вопросы