读取AJAX调用返回的JSON

时间:2015-02-03 01:31:07

标签: jquery json response

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

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

我的代码,以便帖子到最后一品脱。

$('.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();

                }
            });


       }
});  

1 个答案:

答案 0 :(得分:3)

你这里有错误..

 success: function(data){

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

将此更改为

success: function(jsondata){

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

您的&#34;数据&#34;将是一个对象。您可以通过点符号获取您的值

data.value

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

  

弃用通知:jqXHR.success(),jqXHR.error()和   从jQuery 1.8开始,不推荐使用jqXHR.complete()回调函数。准备   你的代码最终删除,使用jqXHR.done(),jqXHR.fail(),   和jqXHR.always()相反。

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