无法使用ajax读取未定义的属性“ 0”以获取json数据

时间:2018-11-06 15:35:12

标签: javascript jquery json ajax

我的Ajax错误:

  

无法读取未定义的属性“ 0”

dmpConnectInstance.hl_readCpxCard(getCpsPinCode(), function (a) {
    var path = "cpx";
    $.ajax({
        type: "POST",
        url: path,
        data: a,
        success: function (data) {
            // 
            $("#res").html("okyou" + data.PracticeLocations[0].s_practiceLocationName);
            console.log('yooo' +
                data.PracticeLocations[0].s_practiceLocationName);
        }
        ,
        error: function () {
            console.log('ko');
        }

    });
});

这是json格式:

{  
"PracticeLocations":[  
  {  
     "s_practiceLocationActivity":"SA07",
     "s_practiceLocationHealthcareSettings":"SA07",
     "s_practiceLocationName":"CABINET M. INFIRMIER3681"
  }
 ],
"i_remainingPinCodeInputs":3,
"s_given":"ALAIN",
"s_internalId":"00B6036814",
"s_name":"INFIRMIER3681",
"s_profession":"60",
"s_professionOid":"1.2.250.1.71.1.2.7",
"s_speciality":"",
"s_status":"OK"
}

我认为我的数据有问题,当我调试数据时收到空消息。

否则,如果我直接放入函数中:

console.log('yooo'+a.PracticeLocations[0].s_practiceLocationName);

我得到了结果。

1 个答案:

答案 0 :(得分:0)

您在帖子中显示的JSON内容是正在输入或输出的内容,如果确实如此,您如何确认结果?错误的性质是说data.PracticeLocations为null,并且在位置0不包含任何内容。如果数据返回为真正的空结果,那么这将是有道理的,并且包括返回您的响应的代码将有所帮助

您在帖子中的后续声明是:

console.log('yooo'+a.PracticeLocations[0].s_practiceLocationName);

此变量为a.PracticeLocations,而不是data.PracticeLocations,该变量a未被引用。我以为那是错字?