Задать вопрос
@kolomat

Почему не удаеться получить доступ к свойству объекта ajax?

Не могу полуить свойства объекта
Пример php к которому обращаемся через ajax
<?php

$json = [];
$json['error'] = 'error';
$json['warning'] = 'warning';

echo json_encode($json);


Пример js скрипта
<script>
    $(".button__client").click(function () {
        var name = $(this).attr('data-name')
        var id = $(this).attr(`data-id`)

        $.ajax({
            type: 'post',
            url: name + '/' + id,
            beforeSend: function () {
                $('.loader-div').show()
            },
            success: function (data) {
                console.log(data)
                console.log(data.error)
            }
        });
    })
</script>

Распечатка по data
console.log(data)
{"error":"error","warning":"warning"}

А вот почему то data.error
console.log(data.error)
undefined
  • Вопрос задан
  • 70 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
потому что вы строку получили.

Вам нужно либо самостоятельно распарсить ее в объект JSON.parse()
Либо предоставить это jquery

$.ajax({
    type: 'post',
    dataType: 'json', // Тип возвращаемых  данных
    url: name + '/' + id,


В этом случае в success jquery вам передаст уже готовый объект
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@drileb
dataType: 'json'

$(".button__client").click(function () {
        var name = $(this).attr('data-name')
        var id = $(this).attr(`data-id`)

        $.ajax({
            type: 'post',
            dataType: 'json',
            url: name + '/' + id,
            beforeSend: function () {
                $('.loader-div').show()
            },
            success: function (data) {
                console.log(data)
                console.log(data.error)
            }
        });
    })
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы