POST将JSON对象序列化为Coldfusion远程方法,而不是使用FORM

时间:2010-04-19 15:34:18

标签: jquery ajax json post coldfusion

我有javascript对象,它包含复杂的结构数组,其中包含动态创建的其他javascript对象的嵌套结构等长篇故事。我不能使用表单,因为我的vars就像2_34_x_y_foo_bar_235423,因为UI的性质。

当我使用GET .ajax请求将该字符串化对象发送到远程cfc方法时,所有内容都运行正常,直到JSON变为4000多个字符长,并且通常会比它更长。

当我使用POST .ajax时,我获得302状态并重定向到cfcexplorer。

是否有某种方法可以将对象“附加”到表单并以表单提交方式发送我的数据, 或某种方式发送JSON对象,因为它现在使用ajax调用?

2 个答案:

答案 0 :(得分:4)

发布到远程CFC方法时,您必须确保仍然将“method = cfcMethodName”作为请求的一部分。

您可以将其保留在网址部分(POST /mycfc.cfc?method=myMethodName)中,也可以将其作为表单字段添加到帖子中。

重定向是CF无法运行的方法,因此认为您正在尝试内省CFC。

答案 1 :(得分:2)

这正是我在当前项目中所做的事情:

form = $("<form method='POST' action='/foo'><input type='hidden' name='data'></form>")
form.find("input").val(JSON.stringify(my_data_object));
form.hide().appendTo($("body")).submit();

(请注意,我没有使用Coldfusion的任何经验;这是一个Python项目。)