2016-08-19 3 views
-3

Мой код сценария, как:Нужна помощь в Script

function changePrice(id) { 
    var url = '<?php echo $base_url ?>home/getprice/'; 
    $.ajax({ 
     url: url, 
     type: 'post', 
     data: 'id='+id, 
     success: function(msg) { 
      alert(msg); 
      /* 
      "regular_price": "800", 
      "discount_price": 720 
      */ 
     } 
    }); 
} 

Я хочу, чтобы как обычная цена и цена со скидкой на отдельном variable.How ??

+0

что в ГЗС? console.log (msg), затем проверьте консоль. –

+1

Не работают ли 'msg.regular_price' и' msg.discount_price'? –

+0

да, если msg - объект, я согласен с @Swaraj Giri –

ответ

0

Попробуйте это:

В серверной стороне Ajax вызова:

$respose['regular_price'] = 120; 
$respose['discount_price'] = 100; 
echo json_encode($response); 

В JS: Учитывая Сообщ является объектом JSON

var data = JSON.parse(msg); 
var regular = data.regular_price; 
var discount = data.discount_price; 
+0

SyntaxError: JSON.parse: неожиданный символ в строке 1 колонки 1 из данных JSON –

+0

успеха: функции (MSG) \t \t \t \t { \t \t \t \t \t вар NewData = JSON.parse (MSG); \t \t \t \t \t var regular = newdata.regular_price; \t \t \t \t \t var скидка = новыйdata.цена со скидкой; \t \t \t \t \t предупреждение (регулярное); \t \t \t \t \t \t \t \t \t} –

+0

означает тип возврата сообщения не является объектом JSON –

1

Если вы получаете ответ как "regular_price": "800", "discount_price": 720 затем сделать это действительный JSON, проанализировать его и получить свойства.

var obj = JSON.parse('{' + msg + '}'); 
//  valid json -^-----------^- 

// get object properties 
var regular = data.regular_price; 
var discount = data.discount_price; 

UPDATE: Если данные ответ недопустимый формат JSON затем установите dataType: 'json' вариант.

$.ajax({ 
    url: url, 
    type: 'post', 
    data: 'id='+id, 
    // set response datatype as json 
    dataType:'json', 
    success: function(msg) { 
     // get properties 
     var regular = msg.regular_price; 
     var discount = msg.discount_price; 
    } 
}); 

Или разобрать его непосредственно, если ответ является строкой.

$.ajax({ 
    url: url, 
    type: 'post', 
    data: 'id='+id, 
    success: function(msg) { 
     // parse the string 
     var data = JSON.parse(msg); 
     // get properties 
     var regular = data.regular_price; 
     var discount = data.discount_price; 
    } 
}); 
+0

о/р: \t { \t \t "regular_price": "50", \t \t "discount_price": 45 \t} success: function (msg) { \t var obj = JSON.parse ('{' + msg + '}'); \t var regular = data.regular_price; \t var discount = data.discount_price; \t предупреждение (регулярное); } // SyntaxError: JSON.parse: ожидаемое имя свойства или '}' в строке 1 столбца 2 данных JSON –

+0

@ ZuberMafat проверить обновленный код –

0

Thanx к all..Here являются решением:

 <script> 
     function changePrice(id) 
     { 
      var url = '<?php echo $base_url ?>home/getprice/'; 
      $.ajax({ 
      url:url, 
      type:'post', 
      data:'id='+id, 
      dataType:'json', 
      success:function(msg) 
      { 
       var regular = msg.regular_price; 
       var discount = msg.discount_price; 
      } 
     }); 
    } 
    </script> 

Моя функция:

$new = array (
    "regular_price" => $result->price, 
     "discount_price" => $price 
    ); 
    $newarray = json_encode($new, JSON_PRETTY_PRINT); 
    print_r($newarray); 
Смежные вопросы