读取 AJAX 调用返回的 JSON

Read JSON returned by AJAX call

我是 AJAX 的新手。我正在使用 AJAX 将表单数据提交到终点。端点返回带有一些响应数据的 json 字符串。我尝试了很多东西,但无法阅读 JSON。

我可以解析 JSON。此时,我想弄清楚如何读取端点返回的JSON。

我的代码让帖子到最后pint。

$('.ent-lead-form form').on('submit', function(e){
        e.preventDefault();
        var form = this;

        if($(this).find('.err').length == 0){
            $(this).parent().prepend('<div class="form-mask"></div>');

            $.ajax({
                url: $(this).attr('action'),
                type: 'POST',
                data: $(this).serialize(),
                success: function(data){

                    var data = JSON.parse(json);
                    alert(data);

                    // redirect to success or show thank you
                    if( $(form).find('input[name=successurl]').length == 1 ){
                        window.location = $(form).find('input[name=successurl]').val();
                    } else {
                        $(form).parent().prepend('<div class="confirm-mask">Thank you for your submission.</div>');
                    }

                    // cleanup
                    $('.form-mask').remove();

                },
                error: function(data){
                    // show error
                    $(form).parent().prepend('<div class="confirm-mask">There was an error processing your request.  Please reload the page and try again.</div>');
                    $('.form-mask').remove();

                }
            });


       }
});  

你这里有错误..

 success: function(data){

                    var data = JSON.parse(json);
                    alert(data);

将此更改为

success: function(jsondata){

                    var data = JSON.parse(jsondata);
                    console.log(data);

您的 "data" 将是一个对象。您可以使用圆点表示法

获得您的价值观
data.value

要对此添加评论: 最好开始使用.done()

Deprecation Notice: The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks are deprecated as of jQuery 1.8. To prepare your code for their eventual removal, use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead.

http://api.jquery.com/jquery.ajax/