问题描述
我正在将一个站点从 ColdFusion 转换为 lucee(这是第一次)。在 ColdFusion 中,使用 cfajaximport 标签后,我可以运行类似这样的 JS 代码:
ColdFusion.Ajax.submitForm('runMe','runcode.cfm',callback_testMe,errorHandler_testMe);
我似乎无法在 lucee 中运行它。我正在寻找某种 lucee 替代品,但似乎找不到任何东西。
基本上,我想提交表单数据,运行一些服务器端的东西,然后在不刷新页面的情况下返回结果。
任何帮助将不胜感激。
解决方法
Lucee 没有 CF UI 标签,您将不得不使用 jQuery AJAX 或类似工具来实现。
var formID = "runMe"; // formId Param
$("#"+formID).on("submit",function (e) {
e.preventDefault(); // Prevent page load
$.ajax({
type: "POST",// httpMethod Param
url: "runCode.cfm",// URL Param
data: $(this).serialize(),success: function (data) {
console.log(data); // callbackhandler
},error: function (xhr,ajaxOptions,thrownError) {
console.log(thrownError); // errorHandler
}
});
})
这应该做完全相同的事情,我什至指出了 ColdFusion.Ajax.submitForm