modelErrors来自json响应的属性未定义

时间:2017-07-24 10:48:03

标签: javascript jquery json ajax asp.net-ajax

我正在尝试解析json响应。 JSON响应来自responseText属性 首先,我得到Json的回应如下:

{"Success":false,"Error":true,"ErrorType":1,"ModelErrors":{"Name":"\u0027Name\u0027 must not be empty.","Owner":"\u0027Owner\u0027 must not be empty.","Email":"\u0027Email\u0027 must not be empty.","Password":"\u0027Password\u0027 must not be empty.","Size":"Please provide a valid Number"}}

当我console.log(response.responseText)时,我在控制台上获得了上述输出。

现在我在这个函数中捕获了这个响应。一切都运行良好但是当错误块执行时出错,我得到ModelErrors属性未定义。这是我的功能

 $("form").on('submit', function () {
        var form = $('.form');


        var url = form.attr('action');
        var formData = form.serialize();
        $.ajax({
            type: 'POST',
            url: url,
            dataType: 'json',
            data: formData,
            success: function (response) {


                if (response.Success==true) {
                    console.log(response.Success);

                    showMsg(response.Message);
                    //alert(response.Message);
                }

                //alert(data);
            },
            error: function (response) {

                console.log(response.responseText);

                if (response.responseText.Error === true)

                {

                    var modelErrors = response.responseText.ModelErrors;

                    console.log(modelErrors);
                    console.log("Check "+modelErrors);

                }

            },

            cache: false
        });
    });

我尝试了不同的解决方案,但我无法弄清楚我做错了什么。请帮助我这方面。感谢

1 个答案:

答案 0 :(得分:0)

您可以解析JSON



var json='{"Success":false,"Error":true,"ErrorType":1,"ModelErrors":{"Name":"\u0027Name\u0027 must not be empty.","Owner":"\u0027Owner\u0027 must not be empty.","Email":"\u0027Email\u0027 must not be empty.","Password":"\u0027Password\u0027 must not be empty.","Size":"Please provide a valid Number"}}';
var tmp=JSON.parse(json);
console.log(tmp.ModelErrors);