2011-01-27 17 views
1

データベースを照会するcfcファイルをリクエストしています。これらの結果を構造体や配列などに格納しますか?どのように結果を格納して返すかによって、jQueryからその部分をどのように扱うことができますか?ColdFusionとjQueryを使用してデータを返すAjax

$.ajax({ 
    type: "POST", 
    url: "/ajax/ajax_test.cfc?method=ajaxTest", 
    data:"field1=17", 
    success: function(response) { 
    var r=response; 
    $(".cat_vid_subContainer").empty(); 
    $(".cat_vid_subContainer").html(r.DATA[2]); 
    } 
    }); 

答えて

9

は、あなたのCFCは、JSONなどのデータを返すことがありますし、あなたのAJAX要求JSONを期待することを変更します。
私は、配列に結果を格納してのみ動作しませんでしたので、同様の結果、のいずれかを表示してみました。

ちょうど "たreturnformat = jsonの" 新しいクエリ文字列の名前/値のペアを追加し、あなたのメソッドの戻り値JSONを持っているために+

をCF8を仮定。

あなたのajaxがjsonを受け取ることを期待するには、単に "dataType: 'json'"をajax関数に追加してください。

$.ajax({ 
    type: "POST", 
    dataType: 'json', 
    url: "/ajax/ajax_test.cfc?method=ajaxTest&returnformat=json", 
    data:"field1=17", 
    success: function(response) { 
    var r=response; 
    $(".cat_vid_subContainer").empty(); 
    $(".cat_vid_subContainer").html(r.DATA[2]); 
    } 
}); 

あなたのCFCは、配列を返すされている場合は、その後のjQueryはJavaScriptの配列にJSON配列をデシリアライズし、あなたが現在そうであるように、あなたはそれの要素にアクセスすることができます。

あなたのCFCがJSONを返すだけであることに注意してください。デバッグ情報を返すか、またはJSONの前に空白がたくさんある場合、jQueryはそれを逆シリアル化できません。 Firebugなどのツールを使用して、返されたJSONの品質を確認します。または、ブラウザでURLを要求し、ソースを表示するだけです。

+0

ありがとう私は自分のコードを変更します。 –

関連する問題