jQuery AJAX和CFM文件中的函数

时间:2015-04-28 19:13:37

标签: javascript jquery ajax coldfusion

我现在已经搜索了大约3天了,我仍然无法找到问题的正确答案。

如果先前已经提出这个问题,我道歉。请与我分享一个正确答案的链接。

问题。 是否可以使用jQuery AJAX来调用somefile.cfm(非.cfc)页面中的函数?

我的方案如下:

我在somefile.cfm中有很多功能,其中一个是abc。我正在尝试使用以下jQuery代码从function abc调用位于somefile.cfm的{​​{1}},并将其响应作为index.cfm字符串。

index.cfm

json

somefile.cfm

...
$.ajax({
  url: 'somefile.cfm',
  type: 'post',
  dataType: 'json',
  data: {method: abc. name: 'don'},
  success: function(res){
     alert(res);
  }
});

现在,当我打电话时,我得到一个空白的回复。看起来这个函数没有被调用。我没有收到任何错误。

有可能吗?或者我是否需要将此页面转换为coldfusion组件<cffunction name="abc" returntype="any" returnFormat="json"> <cfargument name="name" required="yes" type="string"> <cfset text['name'] = name> <cfset jsonvar = serializeJSON(text)> <cfreturn jsonvar> </cffunction> ?请帮忙。我需要你的专长。

感谢。

2 个答案:

答案 0 :(得分:0)

你真的应该使用cfcs来实现这个

如果由于某种原因您无法执行上述操作,则需要在cfm页面上添加cfscript块以调用该函数。您可以使用case或if语句根据从jquery传递的内容调用abc函数。再次,不推荐。

答案 1 :(得分:-1)

如果使用ajax调用.cfm文件,那么无论页面通常输出什么内容都会返回给调用者。如果您在函数返回的JSON周围使用cfoutput标记,那么您应该能够获得所需的结果。由于您正在创建POST,因此您可以在FORM范围内使用变量。一旦掌握了FORM.method,就知道用FORM.name调用什么函数。输出该调用的结果。这是一个例子:http://www.raymondcamden.com/2009/03/17/Simple-example-of-loading-a-ColdFusion-query-with-jQuery