我现在已经搜索了大约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>
?请帮忙。我需要你的专长。
感谢。
答案 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