如何使用jQuery.post()将JSON数据返回到Coldfusion 8 cfc?

如何使用jQuery.post()将表单发布到Coldfusion.cfc方法并返回json数据? 是否有某种方法我需要格式化url或表单值以指定要远程调用的cfc方法? 如何告诉Coldfusion返回json数据?

我搜索了现有的jQuery / Coldfusion.cfc问题,我正在寻找一些清晰度。 我找不到一个显示Coldfusion cfc的完整过程的例子。

HTML表格:

 

Open Dialog





sample.js:

 jQuery(function ($) { var saveUrl = "remote.cfc?method=save"; // Is this the right way?? // Bind link to open the dialog box $('a#openDialog').click(function() { $('#myDialog').dialog('open'); }); // Configure jQuery UI dialog box and callback methods // Is this right?? $("#myForm").dialog({ buttons: { 'Save': function() { $.post(saveUrl, $("#myForm").serialize(), function(result){ alert("Result: " + result); }, "json"); $(this).dialog('close'); }, 'Cancel': function() { $(this).dialog('close'); } }); }); 

remote.cfc:

           

*注意,我发现使用Coldfusion调试会真正搞砸cfc返回值,所以它应该被抑制或关闭。

你有什么看起来不错,它在哪里遇到错误,错误是什么? 如果没有明显的错误消息,我要做的第一件事是在远程方法中抛出一个日志语句,看看你是否正在调用它到服务器。 如果这是真的并且它一直到最后,那么警告返回回调的对象(看起来你已经在做了)。

为了解答您的具体问题, remote.fc?method=methodName是正确的URL,如果您要发布数据,那么应该有标题等,所以您应该没问题。 如果您收到错误或最终提醒的价值,则回发错误。

如果将returnFormat设置为JSON,则无需在post中指定json。 出于向后兼容性原因,默认情况下为returnformat = WDDX。

如果您想要易用,请查看和各种cf-ajax UI组件标记。

看看这个相关的问题: 使用AJAX调用ColdFusion函数