从jQuery AJAX调用解析JSON

时间:2012-05-19 00:10:28

标签: jquery json

我可以成功找回看起来像JSON对象的东西,但是当我解析它时我得到一个非空白错误,当我不解析它时,我无法访问这些元素。基本上,我只想访问JSON中的每个元素并显示它。这是代码:(代码下面是我返回的JSON(或看起来像是JSON)

$('#cardText').change(function(){
            if($('#cardText').val().trim().length == 9)
                {
                    $.ajax({

                        url: 'components/Person.cfc',

                        //GET method is used
                        type: "POST",

                        //pass the data        
                        data: {
                            method: "getGroup",
                            uid: $('#cardText').val(),
                            },

                        success: function(response) {

                            //obj = jQuery.parseJSON(response); -- I get a non-whitespace error if I do this
                            var Col1 = response.COLUMNS[0]; -- this gives me response.Columns is undefined

                            $('#form_result').html(response);

                        },

                        error: function(jqXHR, exception) {
                            if (jqXHR.status === 0) {
                                alert('Not connect.\n Verify Network.');
                            } else if (jqXHR.status == 404) {
                                alert('Requested page not found. [404]');
                            } else if (jqXHR.status == 500) {
                                alert('Internal Server Error [500].');
                            } else if (exception === 'parsererror') {
                                alert('Requested JSON parse failed.');
                            } else if (exception === 'timeout') {
                                alert('Time out error.');
                            } else if (exception === 'abort') {
                                alert('Ajax request aborted.');
                            } else {
                                alert('Uncaught Error.\n' + jqXHR.responseText);
                            }
                        }
                }); 
            }
        });

返回数据:

{
    "COLUMNS": ["PLAN", "NAME", "ID", "ISSUE", "TYPE", "LASTUSED", "BALANCE"],
    "DATA": [["DINING STAFF CAFE 1919 ", "YOUNG, MARIA ", 8.03976343E8, "2001-04-02", 2.0, "2012-01-27", 1]]
}​
来自记事本的

(限制数据) {“COLUMNS”:[“PLAN”,“NAME”],“DATA”:[[“DINING STAFF CAFE 1919”,“YOUNG,MARIA”]]}

2 个答案:

答案 0 :(得分:0)

在最后一个大括号之后,你似乎有一个时髦的角色。尝试将JSON粘贴到Notepadd ++中。

答案 1 :(得分:0)

在粘贴的示例返回数据中,在结束}和换行符之间有一个零宽度的unicode字符U + 200b。这阻止了Firefox接受该代码片段。它是如何实现的?