0

使用 Plivo api,我正在进行 getJSON 调用,因此返回以下内容:

[
  {
    "group_id":"31505537702425",
    "number_type":"local",
    "prefix":"347",
    "region":"New York, UNITED STATES",
    "rental_rate":"0.80000",
    "resource_uri":"/v1/Account/MAMTE4MTHJNJRKODBIMD/AvailableNumberGroup/31505537702425/",
    "setup_rate":"0.00000",
    "sms_enabled":true,
    "sms_rate":"0.00450",
    "stock":46,
    "voice_enabled":true,
    "voice_rate":"0.00850"
    }
]

例如,我可以使用 来访问它this["region"],它允许我打印美国纽约。没问题。

但是有了这个数组:

{
    "api_id":"2653f0d4-c4a3-11e3-9c37-22000ac7849b",
    "message":"created",
    "numbers":[
      {
        "number":"13474749242",
        "status":"Success"
      }
    ],
    "status":"fulfilled"
}

同样的方法,this["number"]返回“未定义。

完整的代码是:

function buy_number(id) {
       $("#results").html('')
       $("#results").html('renting your number.... hang on a sec');
        var group_id = id;
        $.getJSON("/rentnumber?group_id="+group_id, function(data) {
          $.each( data, function( key, value ) {
          $("#results").html("");
          $("#results").append('<p>You just bought '+this["number"]+'</p>');
                     });
               });
        }

它有效,号码已购买,但我无法在用户页面上显示结果。一如既往地感谢所有帮助。

4

5 回答 5

0

做就是了:

this.numbers.number

或者

this["numbers"].number

而不是你在做什么

于 2014-04-15T13:59:33.457 回答
0

您可以使用:

$.each(data.numbers, function (key, value) {
    $("#results").html("");
    $("#results").append('<p>You just bought '+this["number"]+'</p>');
});

小提琴演示

于 2014-04-15T14:01:06.147 回答
0

即使您在 numbers 数组Demo中有多个项目,下面也将起作用

              var i=0;
              $.each(data,function(index,item){  
              alert(item.numbers[i].number);
              i++;
              });
于 2014-04-15T14:01:28.080 回答
0

你需要做:

this["numbers"][0]["number"];

由于“数字”是一个数组而不是一个对象,因此您需要数字的第一个数组元素。

于 2014-04-15T14:03:06.953 回答
0

你必须使用

    this["numbers"]["number"]

因为数字在数字内

于 2014-04-15T14:17:48.357 回答