需要帮助的脚本

Need Help In Script

本文关键字:脚本 帮助      更新时间:2023-09-26

脚本代码如下:

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
            */
        }
    });
}

我想在单独的变量上同时显示常规价格和折扣价格。怎么做??

如果你得到的响应是"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;
    }
});

感谢大家,以下是解决方案:

     <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>

My Function:

  $new = array (
     "regular_price" => $result->price,
      "discount_price" => $price
    );
    $newarray = json_encode($new, JSON_PRETTY_PRINT);
    print_r($newarray);

试试这个:

在服务器端ajax调用:

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

在JS中:考虑msg是一个json对象

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