jquery - 从使用 JQuery Ajax 调用的 Coldfusion CFC 返回值

标签 jquery ajax coldfusion

我正在尝试使用 Ajax 调用 CFC 组件。但我需要将 CFC 返回的值传递给我的 javascript 例程。当我在警报中显示 msg 时,done 函数会创建正确的消息。但 ret 变量永远不会填充该值。我需要返回的值来改变 javascript 数据流。

我做错了什么?

var ret = $.ajax({
              type: "post",
              url: "cfc/CFCSemae.cfc",
              data: {
                  method: "verificaCadastro",
                  returnformat: "plain",
                  queryformat: "column",
                  nro_cadastro: num_cad
      },
      dataType: "html",
      }).done(function(msg){ return msg; });

alert(ret);

最佳答案

下面的代码应该可以为您完成此操作,但是理解,当您执行异步请求时,只有在执行回调时您才会获得结果。您的代码将简单地调用 $.ajax 函数,但它不会等待响应(就像它在不同的线程中一样)。当响应准备好时,将执行回调complete。如果响应返回成功消息 (HTTP Status 200),则调用 success 回调,否则调用 error

//somewhere in your script
var ret = '';

// then at the ajax request
$.ajax({
    type: "post",
    url: "cfc/CFCSemae.cfc",
    data: { method: "verificaCadastro", returnformat: "plain",
            queryformat: "column", nro_cadastro: num_cad },
    dataType: "json",
    contentType: "application/json; charset=utf-8", // make sure your serverside function can return json
    success: function(data) {
        //your own validation to check whether 'data' is a valid response 
        ret = data;
    },
    error: function(xhr, msg) {
        // handle error
    }
});

请阅读以下有关 ajax 编程的文章。这将使您更好地理解什么是异步编程:http://en.wikipedia.org/wiki/Ajax_(programming )

编辑:更正拼写错误

关于jquery - 从使用 JQuery Ajax 调用的 Coldfusion CFC 返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10180544/

相关文章:

javascript - 为什么我需要使用函数作为参数而不能只使用它返回的值

javascript - 如何使用 jQuery 和 MaterializeCSS 让我的图标切换?

ajax - GWT 相当于 Smart-GWT 的 Live Grid

javascript - 通过ajax发送javascript数组而不使用jquery

jquery - "Cannot read property ' 长度 ' of undefined."带 ColdFusion 和 jQuery DataTable

mysql - 我的 CFQUERYPARAM 出错

javascript - Google Api获取access_token请求返回invalid_request

javascript - 如何在 Google map 上搜索位置后添加事件 addListener 单击标记

javascript - 在 jQuery 中更改克隆子项的 ID

coldfusion - 如何在 ColdFusion 2016 中动态设置电子表格自动过滤器?