使用 ColdFusion 和 jQuery Ajax 返回数据

发布于 2024-10-14 09:15:13 字数 406 浏览 4 评论 0原文

我正在向查询数据库的 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]);
    }
    });

I'm making a request to a cfc file that queries a database. Do I store these results in a struct, array or some other way? And depending on how I store and return the results, how do I handle the pieces from jQuery?
I tried storing the results in an array and only displaying one of the results like so, which did not work:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

物价感观 2024-10-21 09:15:13

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

Have your CFC return the data as JSON, and modify your ajax request to be expecting JSON.

Assuming CF8+

To have your method return JSON, just append a new querystring name/value pair "returnformat=json".

To have your ajax expect to receive json, just add "dataType: 'json'" to the ajax function.

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

If your CFC is returning an array, then then jQuery will deserialize the JSON array into a javascript array, and you can access elements of it as you currently do.

Note, its critical that your CFC only return the JSON. If you're returning debugging info, or have a bunch of whitespace before the JSON, jQuery won't be able to deserialize it. Use Firebug or some other similar tool to verify the quality of your returned JSON. Or, just request the url with a browser and view the source.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文