我遇到了一个问题的墙,它可能比我更关心的是承认跟踪这件事。Lucee/AJAX/CFARGUMENT失败
具体来说,我有一个jQuery AJAX调用,将一些数据传递给.cfc我调用方法,并且我传入一些参数运行一些数据库查询,然后不返回任何内容。然后我使用AJAX函数的成功方法继续。
我在ColdFusion 11服务器上开发了它,它可以工作。然而,在我最近搬到Lucee服务器时,我遇到了各种各样的问题。
首先我注意到成功方法没有被调用。然而,Firebug在通话中报告了200 OK。所以我进一步检查了数据库查询都在方法中运行。除此之外,Lucee日志看起来也很干净,并承认数据库查询已成功运行。所以一切都很好(我知道要检查的东西)。我已经做了基础知识,尝试了不同的机器和不同的浏览器,但这并不是什么特别的,但没有任何变化。
我注意到Firefoxes Inspect Element抛出了一个没有找到元素的错误,并且在进一步检查后发现我发布到cfc的参数是未定义的。这导致我进一步挖掘,并且我注意到它返回了这个错误'XML解析错误:找不到任何元素'仍然说返回是200 OK,但还没有足够通向AJAX调用的成功方法。
其他想法我没有真正的结果尝试过,但是启用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>
test.cfc
<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>
,可能更重要的我在Lucee 4.5.1.023
像以前一样,任何帮助总是不胜感激。
您是否已将您的代码还原到我们可以查看的便携式数据复制案例中?如果你:你需要。它也应该成为您常规故障排除的一部分:将您的代码元素分解出来,不会对您的问题造成影响:这样可以更好地帮助确定* *会对您的问题做出什么贡献。最好向我们展示代码,而不是描述它是如何工作的,而是让它用来猜测代码可能是什么。 –