Javascript Lucee/AJAX/cfa参数失败

Javascript Lucee/AJAX/cfa参数失败,javascript,jquery,ajax,coldfusion,lucee,Javascript,Jquery,Ajax,Coldfusion,Lucee,我因为一个问题撞到了墙上,我可能已经花了几个小时来追查这件事了 具体地说,我有一个jQueryAjax调用,它将一些数据发布到.cfc。我调用该方法,传入一些参数,运行一些数据库查询,然后什么也不返回。然后我使用AJAX函数的success方法继续 我在ColdFusion 11服务器上开发了这个,效果很好。然而,在我最近迁移到Lucee服务器的过程中,我遇到了各种各样的问题 首先,我注意到没有调用成功方法。不过Firebug报告通话状态为200 OK。所以我进一步检查,数据库查询都在方法中运行

我因为一个问题撞到了墙上,我可能已经花了几个小时来追查这件事了

具体地说,我有一个jQueryAjax调用,它将一些数据发布到.cfc。我调用该方法,传入一些参数,运行一些数据库查询,然后什么也不返回。然后我使用AJAX函数的success方法继续

我在ColdFusion 11服务器上开发了这个,效果很好。然而,在我最近迁移到Lucee服务器的过程中,我遇到了各种各样的问题

首先,我注意到没有调用成功方法。不过Firebug报告通话状态为200 OK。所以我进一步检查,数据库查询都在方法中运行。除此之外,Lucee日志看起来也很干净,并确认数据库查询已成功运行。所以一切都很好(我知道要检查的事情)。我已经做了一些基本的尝试,尝试了不同的机器和浏览器,但没有任何改变

我注意到firefoxesinspect元素抛出了一个no-Element-found错误,在进一步检查后,它返回我发布到cfc的参数是未定义的。这导致我进一步深入研究,我注意到它返回了这个错误“XML解析错误:找不到元素”,仍然表示返回值为200 OK,但还不够OK到AJAX调用的success方法

我的其他想法和尝试都没有真正的结果,那就是启用CORS,包括一个返回类型的JSON(它消除了XML错误,但没有做其他什么)

我开始怀疑整个Lucee安装程序是否都搞砸了,我是否需要放弃它并重新安装

感谢您提供的任何帮助或想法

编辑:对于没有附加代码表示歉意,因为这似乎连接到一个服务器设置,我天真地希望有人会说,“是的,你需要设置这个设置并修改这个文件,你一切都好!”然后我们都会嘲笑Tomcat

我假设第一条评论说,“给我们看看你的代码!”事实并非如此。因此,根据提示,我编写了一个最低限度的测试用例,它仍然证实了我最初的问题:

test.cfm

<!--- jQuery 2.1.4 --->
<script src="./jQuery-2.1.4.min.js"></script>

<script>
$(document).ready(function() {
    $.ajax({
        type: "post",
        url: "./test.cfc",
        data: {
            method: "test",
            var1: "var1",
            var2: "var2"
        },
        success: function(result) {
            alert('Hello Friend!');
        }
    });
});
</script>

$(文档).ready(函数(){
$.ajax({
类型:“post”,
url:“./test.cfc”,
数据:{
方法:“试验”,
var1:“var1”,
var2:“var2”
},
成功:功能(结果){
警惕(“你好,朋友!”);
}
});
});
试验装置

<CFCOMPONENT>

    <!--- Test Function --->
    <CFFUNCTION NAME="test" ACCESS="remote">

        <CFARGUMENT NAME="var1" />
        <CFARGUMENT NAME="var2" />

        <CFOUTPUT>
            Var 1: #var1#<br />
            Var 2: #var2#
        </CFOUTPUT>

    </CFFUNCTION>
    <!--- End Test Function --->

</CFCOMPONENT>

变量1:#变量1#
变量2:#变量2#
可能更重要的是我在Lucee 4.5.1.023上


和以前一样,任何帮助都是非常感谢的。

所以我打了个盹,回来讨论这个问题。我认为这与ColdFusion的代码或味道关系不大,而与Web服务器关系更大

我开始使用各种可用的数据类型,并开始看到返回结果中的变化。它们并没有立即显现出来,因为它们前面有大量的空白

所以这个问题的一部分是我自己的错误编码。我通常只在需要返回特定的数据类型时使用数据类型,例如JSON,否则我会忽略它,并对返回的内容进行“智能猜测”。我猜我的场景中的主要区别是使用Apache HTTP服务器(工作)和Apache Tomcat(不工作),因此当我包含数据类型:“text”并大量使用jQuery函数.trim()时,我可以实现我想要的

在这个过程中,我也因此使我的代码变得更好


希望这能帮助某些人(至少对我来说)疯狂地诊断出半无声故障的问题。

您是否已将代码缩减为我们可以查看的便携复制案例?如果你:你有点需要。这也应该是一般故障排除的一部分:排除代码中与问题无关的元素:这将更好地帮助确定哪些因素会导致问题。另外,最好向我们展示代码,而不是描述它是如何工作的,然后让我们用它来猜测代码可能是什么。