Доступ к значению ключа возвращаемого массива из ответа ajax - PullRequest
4 голосов
/ 18 апреля 2019

Вот мой ответ json из моего метода Ajax:

{"id_ac": "32", "mail_uniq_ac": "mail@gmail.com", "id_civ": "2"}

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

это мой контроллер ajax:

public function executeAjaxGetActeur(sfWebRequest $request){
        $id_ac = $request->getParameter('id_ac');

        $acteur = Doctrine_Core::getTable('Acteur')->findOneByIdAc($id_ac);

        return $this->renderText(json_encode($acteur->toArray()));
    }

Вот мой javascript, где мне нужно получить значения ключей

function showModalTempsPartenaire($id_ac){

        var $id_ac = $id_ac;
        $.post($url + "/ajax/get_acteur", {
            id_ac: $id_ac
        }, function (data) {
            if (data && trim(data) != '')
                console.log(data);
            console.log(data['id_ac'])
        });
}

The:

console.log(data); 

Вывести меня:

{"id_ac":"32","mail_uniq_ac":"mail@gmail.com","id_civ":"2"}

но console.log (data ['id_ac']);возврат не определен

1 Ответ

4 голосов
/ 18 апреля 2019

Вы кодируете данные в JSON на стороне сервера, используя json_encode(), вам нужно декодировать их на стороне клиента, используя JSON.parse(), чтобы вы могли получить информацию из них, например:

function showModalTempsPartenaire($id_ac){
    var $id_ac = $id_ac;
    $.post($url + "/ajax/get_acteur", {
        id_ac: $id_ac
    }, function (data) {
        if (data && trim(data) != '')
            data = JSON.parse(data);

        console.log(data['id_ac'])
    });
}

Рабочий образец

var data = '{"id_ac":"32","mail_uniq_ac":"mail@gmail.com","id_civ":"2"}';
var obj = JSON.parse(data);

console.log(obj['id_ac']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...