weixin_33709609 2015-09-14 13:31 采纳率: 0%
浏览 244

JSON.parse获取值

I need to check one value from JSON response before continuing the script, but it doesn't work.

$.ajax({
    type: "POST",
    url: "addproduct.php",
    data: {productId : selectedValue, customerId : customerId},
    datatype: "json",
    success: function (response) {
        response = JSON.parse(response);
        if(response === undefined) {
            alert("undefined");
        } else if (response.pricelistupdate = 1) { //this doesn't work
            alert("ERROR! Adding a product is denied");
        } else {
            orderAddRow(response);
        }
    },
    error: function () {
        alert("ERROR");
    }
});

I'm getting following JSON response:

{"row":{"pricelistupdate":0,"ID":"000017","name":"Chair","discount":"0.00","price":"0.00"}}

Thanks in advance.

  • 写回答

2条回答 默认 最新

  • weixin_33726943 2015-09-14 13:33
    关注

    What errors did i see:

    1. You don't need the JSON.parse() as datatype:"json" is there.
    2. Reference to the pricelistupdate should be response.row.pricelistupdate.
    3. Instead of comparing === to a value you are assigning it = in the elseif.

    As you have a dataType:

    datatype: "json",
    

    so you don't need to parse the json then. you can remove it response = JSON.parse(response);.

    JSON.parse() method should only be used on a json string but in your case the response is a valid json so you don't need it.

    and just get it:

    You need to refer to your object keys and you are missing the key row and you have also missed = equal sign in the elseif :

    else if (response.row.pricelistupdate === 1) 
    

    So it has to be something like this in your success callback:

    success: function (response) {
        if(response === undefined) {
            alert("undefined");
        } else if (response.row.pricelistupdate === 1) { // check "===" equals
            alert("ERROR! Adding a product is denied");
        } else {
            orderAddRow(response);
        }
    },
    
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置