当前位置:  开发笔记 > 编程语言 > 正文

$ .ajax ColdFusion cfc JSON Hello World

如何解决《$.ajaxColdFusioncfcJSONHelloWorld》经验,为你挑选了1个好方法。

我尽可能地简化了这个例子.我有一个远程功能:



    

    
    SELECT PersonID,FirstName,LastName FROM Person
    
    


使用jQuery $ .ajax方法,我想制作一个无序的每个人列表.

    
    
    
    
    
    
    
    
    
    

我丢失的部分是我循环数据的地方.我更喜欢使用jQuery $ .ajax方法,因为我知道$ .get和$ .post没有错误捕获.

我不知道如何处理从cfc返回的JSON.



1> Lee..:

看起来结果是json格式(请查看文档http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_f_21.html)."如果指定returnformat ="json"并且函数返回一个查询,ColdFusion会将查询序列化为一个JSON对象,其中包含两个条目,列名数组和一列列数据数组.有关更多信息,请参阅SerializeJSON." http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_f_21.html

所以第一个数组(data.COLUMNS应该是一个列名数组.data.COLUMNS [0]会给你第一列的名称.data.DATA [0]会给你第一行查询.

一个很好的技巧是在chrome或firebug控制台中使用console.log(data)来查看其结构化形式的数据.

我没有测试过这个,但它应该很接近.只需从数据中生成基本表.

$.ajax({
    url: 'Remote/Person.cfc?method=Read&ReturnFormat=json',
    dataType: 'json',
    success: function(response) {
        var str = '';
        var i;
        var j;

        //loop over each column name for headers
        for (i = 0; i < response.COLUMNS.length; i++) {
              str += '';
          }
        }
        str += '';

        //loop over each row
        for (i = 0; i < response.DATA.length; i++) {
          str += '';
          //loop over each column
          for (j = 0; j < response.DATA[i].length; j++) {
              str += '';
          }
          str += '';
        }
        str += '
' + response.COLUMNS[i] + '
' + response.DATA[i][j] + '
'; $('body').html(str); }, error: function(ErrorMsg) { console.log('Error'); } });

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有