-1

我的 ajax 调用成功地从数据库返回数据,但我无法弄清楚如何解析 json 并正确显示它。这是我的ajax调用:

$('#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(),
                            },
                        datType: "json",

                        success: function(response) {

                            var resp = $.trim(response);
                            $('#form_result').html(resp);
                        },

                        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);
                            }
                        }
                }); 
            }
        });

并将以下内容返回到 (div id="form_result") 但我不知道现在如何处理数据以正确显示它:

{"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]]}

任何帮助,将不胜感激!杰拉德

4

4 回答 4

0

似乎“数据”中有多余的逗号 尝试删除逗号后uid: $('#cardText').val()

于 2012-05-19T00:16:23.833 回答
0

看来您只需要对从服务器返回的 JSON 数据做一些事情。如果您想将其解析为更合理的格式,例如哈希,请在此处查看我的小提琴:http: //jsfiddle.net/skamansam/T7WbK/25/。如果您只是想告诉用户他/她提交的数据是正确的,请更改以下行:

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

$('#form_result').html("Form submitted successfully!");

理想的情况是您将服务器响应更改为有意义的内容,例如 html 响应而不是 json。这似乎更像是一个偏好问题,而不是技术性或协议。

于 2012-05-18T20:58:45.340 回答
0

你可以通过这种方式解析json数据来做到这一点

var ReturnedData = jQuery.parseJSON(response);

然后你可以像访问一个简单的对象和数组一样访问数据,即

var Col1 = ReturnedData.COLUMNS[0];  // will provide you first COLUMN value i.e. "PLAN"
var Data1= ReturnedData.DATA[0];  // will provide you first DATA value i.e. "DINING STAFF     CAFE 1919"

以上两行只是一个示例,说明如何获取数据

于 2012-05-18T20:42:21.547 回答
0

由于您在客户端获取 JSON,您可以将其提供给一些了解该数据的 JS 插件,或者使用模板引擎自己显示它们。

你需要一个像样的模板引擎。

查看http://api.jquery.com/category/plugins/templates/http://handlebarsjs.com/https://github.com/leonidas/transparency

于 2012-05-18T20:27:06.793 回答