原文在:http://blog.waynedeng.com/blogview.asp?logID=528
这几个小技巧对于刚接触CFAjax的新手来说非常有帮助。
1、传递多个参数给CF过程
在CFAjax网站中给出的很多例子都是只传递一个参数,其实参数的个数是不限的。
例如CFAjax 1.2的调用方法:
DWREngine._execute(_cfscriptAmazonLocation, null, 'amazonmusicsearch', search, page, getAmazonMusicDataResult);
其中search和page都是传递给CF函数的参数,多个参数也是没有问题的,不用怕CFAjax会搞混。
因为它用到了js中的动态参数(arguments)传递。
这就是engine.js中相应的代码:
// To make them easy to manipulate we copy the arguments into an args array
var args = [];
for (var i = 0; i < arguments.length - 3; i++)
{
args[i] = arguments[i + 3];
}
2、用testpage.htm来调试你的function.cfm
在使用中,CFAjax在幕后调用你的CF过程,如果出现了错误,你会看不到任何东西!这也就给程序调试带来了很大的困难。不过有一个不错的方法可以使用,就是创建一个testpage.htm,里面包含这样的表单:
<form name="frm" method="post" action="functions.cfm">
<input type="hidden" name="callcount" value="1">
<input type="hidden" name="c0-id" value="1">
<input type="hidden" name="ajax" value="true">
<input type="hidden" name="c0-methodname" value="ziplookup">
<input type="hidden" name="c0-param0" value="string:30004">
<input type="submit" name="submit" value="Test Zip lookup function">
</form>
打开这个网页,你就可以看到CF过程返回的内容了,当然包括错误信息(如果有的话)。
3、利用CFAjax实现MVC模式
用一个html文件(加上一个css文件)搭建界面框架(View),一个js文件利用CFAjax作为controller响应用户请求以及和服务器交互,一个功能性的cfm文件封装各种业务Model的function。两个字:完美!