如何从jQuery中从Ajax调用返回的数据中获取对象?

时间:2015-03-04 19:34:39

标签: javascript jquery ajax

我有这个ajax代码:

$.ajax({
    type: "POST",
    url: "inc/ajax.php",
    data: $('#form-responder').serialize(),
    success: function (data) {
        console.log(data); // prints: {"sucesso":"true", "mensagem":"Correta: A pulseira de identificação se aplica a todos os pacientes, sem exceção. ", "index_proxima":"2"}
        //var sucesso = eval(data.sucesso);
        var mensagem = data.mensagem;
        alert(mensagem); // shows: undefined
    }
});

我需要获取一些对象值,但所有这些对象都返回' undefined',这有什么问题? 我曾经做过data.something并且以前总是工作过,也许是这个jQuery 2.1.3版本的东西?

2 个答案:

答案 0 :(得分:2)

您需要使用parseJson()

JsFiddle

data = jQuery.parseJSON( data);
alert(data.mensagem);

答案 1 :(得分:1)

"mensagem"是字符串键,您应该使用数组键格式,如下所示:data['mensagem']

var data = {"sucesso":"true", "mensagem":"Correta: A pulseira de identificação se aplica a todos os pacientes, sem exceção. ", "index_proxima":"2"};

$('input').val(data['mensagem']);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input />