首页 > 解决方案 > 从链接运行 Coldfusion 功能服务器端

问题描述

我有一个 cfm 页面,其中包含一个函数,并根据作为 url 变量传递给页面的一些参数运行该函数。我的要求是通过超链接/按钮调用页面,但不在浏览器中打开页面。客户端浏览器必须保留在带有超链接/按钮的页面上。

再澄清一点:

我有一个带有以下代码的 ringout.cfm 页面:

<cfinclude template="/functions/easySocket.cfm">
<cfset NL = chr(13) & chr(10) />
<cfset extension = #url.user_extension#>
<cfset outbound_line=#url.partner_line#>
<cfset target_number=#url.target_number#>
<cfset call_type="from-internal">
<cfset call_id="12345">
<cfset caller_id="Blah Blah">
<cfset APICommand="Action: Login#NL#Username: tst#NL#Secret: tst#NL##NL#Action: Originate#NL#Channel: PJSIP/#extension##NL#Exten: #outbound_line##target_number##NL#Context: #call_type##NL#Priority: 1#NL#Callerid: #caller_id##NL#ActionID: #call_id##NL#Async: true#NL##NL#">
<cfoutput>
#easySocket('222.222.xx.xx','5038', APICommand)#
</cfoutput>

我想在不离开页面的情况下从另一个页面 (contacts.cfm) 中调用上述页面。我的contacts.cfm中有以下代码:

<a href="#buildUrl("crm.ringout")#&target_number=<cfoutput>#reReplace(#contact_mobile#, "[[:space:]]", "", "ALL")#</cfoutput>&partner_line=302&user_extension=204" runat="server">#contact_mobile#&nbsp</a>

我想做的就是运行 ringout.cfm 页面服务器端。

标签: functioncoldfusion

解决方案


您提供的信息很少,也没有代码。但据我了解,你可以做到。在您的 xxx.cfm 添加此代码

<cfif structKeyExists(URL,"YOUR_URL_VAR")>
<!--- call your function here, generate the desired output and show as plain text/html or json format. Abort the processing if you know this variable will only exist for specific hyperlink/button call--->
  <cfabort>
</cfif>

然后使用您的链接调用 xxx.cfm 并传递所需的 url 变量。


推荐阅读