-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 を取得しているため、そのデータを理解する JS プラグインに渡すか、テンプレート エンジンを使用して自分で表示することができます。

適切なテンプレート エンジンが必要です。

http://api.jquery.com/category/plugins/templates/http://handlebarsjs.com/またはhttps://github.com/leonidas/transparencyをチェックしてください

于 2012-05-18T20:27:06.793 に答える
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"

上記の 2 行は、データを取得する方法の例にすぎません

于 2012-05-18T20:42:21.547 に答える
0

サーバーから返された JSON データを使用して何かを行う必要があるだけのようです。ハッシュなどのより合理的な形式に解析したい場合は、私のフィドルを参照してください: http://jsfiddle.net/skamansam/T7WbK/25/。ユーザーが送信したデータが正しいことを単にユーザーに伝えたい場合は、次の行を変更します。

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

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

ここでの理想は、サーバーの応答を、json ではなく html 応答など、意味のあるものに変更することです。これは、技術やプロトコルというよりも、好みの問題のようです。

于 2012-05-18T20:58:45.340 に答える