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 三菱变频器模块怎么检测触发
  • ¥30 求一下解题思路,完全不懂。
  • ¥30 关于#硬件工程#的问题:求一下解题思路
  • ¥15 运筹学对偶单纯行法构造扩充问题
  • ¥20 XP系统的老电脑一开机就提示找不到rundll.exe,付费求解
  • ¥15 milvus查询出来的score怎么转换成0-1之间的相似性
  • ¥15 lvgl V9移植到linux开发板
  • ¥15 VB.net中在窗体中创建一个button控件来关闭窗体,但是提示错误,我该怎么办
  • ¥15 网上下载好的程序但是arduinoIDE编程报错,运行不了,哪里出错了,能具体给改一下吗
  • ¥15 Sharepoint JS开发 付费技术指导