简体   繁体   English

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

[英]How to get object from data returned from Ajax call in jQuery?

I have this ajax code: 我有这个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
    }
});

I need to get some object values but all of them are returning 'undefined', what is wrong with that? 我需要获取一些对象值,但所有这些都返回'undefined',这有什么问题? I used to do data.something and always worked before, maybe something with this jQuery version 2.1.3 ? 我曾经做过data.something并且以前总是工作过,也许这个jQuery版本2.1.3的东西?

You need to use parseJson() 你需要使用parseJson()

JsFiddle 的jsfiddle

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

"mensagem" is string key, you should use it with array key format like so: data['mensagem'] . "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 /> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM