2011-01-27 68 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 。

假設CF8 +

爲了使您的方法的返回JSON,只是追加了新的查詢字符串名稱/值對 「returnformat = JSON」。

爲了讓您的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將反序列化JSON數組成JavaScript數組,併爲您目前可以訪問它的元素。

請注意,它的關鍵是您的CFC只返回JSON。如果您要返回調試信息,或者在JSON之前有一堆空白,jQuery將無法反序列化它。使用Firebug或其他類似的工具來驗證返回的JSON的質量。或者,只需使用瀏覽器請求網址並查看源代碼。

+0

謝謝我會修改我的代碼。 – 2011-01-27 23:42:21