【问题标题】:Return data using ColdFusion and jQuery Ajax使用 ColdFusion 和 jQuery Ajax 返回数据
【发布时间】:2011-01-27 22:24:21
【问题描述】:

我正在向查询数据库的 cfc 文件发出请求。我是否将这些结果存储在结构、数组或其他方式中?根据我存储和返回结果的方式,我如何处理来自 jQuery 的片段?
我尝试将结果存储在一个数组中,并且只显示一个这样的结果,但这不起作用:

$.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]);
    }
    });

【问题讨论】:

    标签: jquery coldfusion cfc


    【解决方案1】:

    让您的 CFC 以 JSON 格式返回数据,并将您的 ajax 请求修改为期待 JSON。

    假设 CF8+

    要让您的方法返回 JSON,只需附加一个新的查询字符串名称/值对“returnformat=json”。

    要让您的 ajax 期望接收 json,只需在 ajax 函数中添加“dataType: 'json'”即可。

    $.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 的质量。或者,只需使用浏览器请求 url 并查看源代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多