javascript - 通过 AJAX 加载的 ColdFusion CFC 返回空响应

标签 javascript jquery ajax coldfusion cfc

我在通过 jQuery ajax 调用调用 CFC 时遇到问题。我已经阅读了至少十几篇有关该主题的文章/溢出,但无法获得基本的“Hello World”返回页面。我的环境在 Window 2008 R2 和 IIS7.5 上运行 ColdFusion 11

这是我的 CFC:

<cfcomponent displayname="BU_ldaptest" extends="ADF.apps.BU_Utils.components.App" hint="BU_ldaptest.">
<cfproperty name="version" value="1_0_0">
    <cffunction name="helloWorld" access="remote" returntype="string" output="false">
        <cfreturn "Hello World!">
    </cffunction>
</cfcomponent>

这是我的 CFM:

<cfoutput>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
#application.BU_Utils.BU_ldaptest.helloWorld()#
<button onClick="loadCFC();">Load</button>
<script>
    function loadCFC() {
        $.ajax({
            type: "post",
            url: "/ADF/apps/BU_Utils/components/BU_ldaptest.cfc?method=helloWorld",
            cache: false,
            success: function(msg) {
                $("##result").html(msg);
                console.log(msg);
            },
            error: function(msg) {
                $("##result").html("Failed");
            }
        });
        console.log("function execute");
    };
</script>
<div id="result">...</div>
</cfoutput>

在 CFM 中,“#application.BU_Utils...#”变量确实正确打印“Hello World!”在浏览器中。

我在 CF 管理界面中没有任何 Web 服务设置,这样的功能是否需要它们才能工作?我还知道我最终会希望我的 cfc 返回 JSON,一旦我可以打印出这个简单的字符串,它就会返回 JSON。我一遍又一遍地经历过这种溢出... Invoke ColdFusion function using AJAX

谢谢。

最佳答案

在我的应用程序中,我必须使用 ajax 显示表格,因此我将表格包装在 cfsavecontent 中并返回 cfsavecontent 变量。

示例:

    <!--- declaring variable to return to ajax --->
    <cfset VAR PlayList =''>


    <!--- Saving content inside cfsavecontent to playlist variable --->
    <cfsavecontent variable="PlayList">

        <table border="1" class="companytab1">
        <thead>
            <tr class="header">
                <th>SlNo</th>
                ....
                <th>Company Name</th>
            </tr>
        </thead>
            <tbody>
                <tr>
                <!--- SlNo--->
                <td align="center" >1</td>
                ....
                <!--- Company Name--->
                <td align="center" >Asdf</td>
            </tbody>
        </table>

    </cfsavecontent>

<cfreturn PlayList>

关于javascript - 通过 AJAX 加载的 ColdFusion CFC 返回空响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33159573/

相关文章:

javascript - Intern 的 pollUntil 不适用于 Chrome

jquery - 通过循环创建数据时出现问题

javascript - jquery 获取表单的最后一个元素

javascript - JQuery 字符串比较返回不正确的值?

jquery - 从服务器读取输入文件并在客户端显示输出

javascript,在 if 语句中组合 AND、OR

javascript - 事件处理程序被调用两次(javascript)

javascript - 上传后隐藏图像预览

asp.net - Ajax 函数抛出 WebServiceFailedException

javascript - 如何使用javascript检测不可滚动元素中的滚动事件和方向?