2011-01-27 119 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