Массив JSON Javascript, ответ Ajax - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь получить доступ к значению параметра из ответа.

  $.ajax({
        type: "POST",
        url: "",
        dataType: 'text',
        async: false,
        headers: {
            "Authorization": "Basic " + btoa(username + ":" + password)
        },
        data: '{ "action" : "create", "resource" : {"name" : "teddssssssssddsssdsddddsdddwdsdssdsddi",  "description": "Test Tenant Description","parent": {"href": "localhost"}}}',
        success: function(as) {
            alert(as[0][0]["id"]);          
        }
  });

в области успеха я получил ответ, в json. Я хочу получить доступ к значению идентификатора, но я не могу. всегда говорит неопределенное, я пробовал разные варианты. это формат ответа.

{
  "results": [
    {
      "href": "localhost/1111111",
      "id": "100000000111",
      "name": "test",
      "ancestry": "1000011111",
      "divisible": true,
      "description": "Test Tenant Description",
      "use_config_for_attributes": false,
      "default_miq_group_id": "10021200000173"
    }
  ]
}

Я не знаю, могу ли я получить прямой доступ к параметру или лучше получить ответ в виде текста и разделить.

1 Ответ

0 голосов
/ 03 июля 2018

Ответ имеет другую структуру. Ваш ответ - объект с одним свойством, а значение - массив объектов.

что-то вроде {'results': [... {}]}

Ключ 0 не существует.

const data = {"results":[{"href":"localhost/1111111","id":"100000000111","name":"test","ancestry":"1000011111","divisible":true,"description":"Test Tenant Description","use_config_for_attributes":false,"default_miq_group_id":"10021200000173"}]};


console.log(data.results[0].id);
...