从ColdFusion CFC调用Javascript函数

从ColdFusion CFC调用Javascript函数,javascript,ajax,coldfusion,cfc,cffunction,Javascript,Ajax,Coldfusion,Cfc,Cffunction,我有一个ColdFusion函数,用于检查表中是否存在记录,如果存在,则返回找到的行的数据。但是,如果记录不存在,我希望它调用我编写的JavaScript函数,并使用JS函数返回的值在CF函数中继续处理。我知道CF是用Java编写的,所以我希望有办法完成这项任务 基本上,从CF页面,步骤是 调用my functions.cfc文件中的CF函数 在CF函数中,调用JavaScript函数并等待响应 使用JS函数返回的值在CF函数中继续处理 有什么想法吗?谢谢你的帮助 您需要了解CF和JS不存在于同

我有一个ColdFusion函数,用于检查表中是否存在记录,如果存在,则返回找到的行的数据。但是,如果记录不存在,我希望它调用我编写的JavaScript函数,并使用JS函数返回的值在CF函数中继续处理。我知道CF是用Java编写的,所以我希望有办法完成这项任务

基本上,从CF页面,步骤是

  • 调用my functions.cfc文件中的CF函数
  • 在CF函数中,调用JavaScript函数并等待响应
  • 使用JS函数返回的值在CF函数中继续处理

  • 有什么想法吗?谢谢你的帮助

    您需要了解CF和JS不存在于同一环境中,并且不能像这样相互交互:

    您的JS可以对CF进行远程调用,但CF无法基于其处理启动对JS的调用,因为在CF处理的同时,所有内容仍在服务器上,因此JS不是配方的一部分

    最好是让CF代码写出JS代码,然后将其发送到浏览器,然后在页面呈现期间浏览器执行JS时执行

    但这真的不符合你在这里想要做的

    您所做的任何事情都必须符合请求/响应生命周期

    您可以这样做:

  • 从已加载的页面,对
    functions.cfc
  • functions.cfc
    的方法调用只能处理一些内容,然后将其返回给在1中触发请求的JS
  • JS然后可以决定下一步要做什么,可能会向
    functions.cfc
    发出另一个请求以继续处理

  • 您不能做的是让第2步同时调用JS并继续处理,然后稍后将其他内容返回给JS。每个请求只能有一个响应。因此,您可能必须使用多个请求。

    试图将javascript用于ajax调用时过于复杂。刚刚切换到使用cfhttp,一切都在按需工作。CF的反序列化json方法非常适合解析从Google API返回的json对象。

    只需插入脚本标记即可?@RUJordan,不知道你的意思。只是用脚本标签插入它?我需要调用的javascript函数执行对Google API的ajax调用,以查找邮政编码上的信息。所有cf代码和调用都在页面呈现并发送到浏览器之前完成。。。所以只需在一些javascript代码周围放一个CFIF语句,以便在收到您想要的值时执行。尝试使用javascript进行ajax调用过于复杂。刚刚切换到使用cfhttp,一切都在按需工作。CF的反序列化json方法非常适合解析从GoogleAPI返回的json对象。