function - 从链接运行 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# </a>
我想做的就是运行 ringout.cfm 页面服务器端。
解决方案
您提供的信息很少,也没有代码。但据我了解,你可以做到。在您的 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 变量。
推荐阅读
- python - 如何使用 Cloud Function HTTP Trigger 和 python 从 stackdriver 监控中检索 Json
- debugging - PyCharm 可以与 ptvsd 一起使用吗?
- sql - 我如何使用python返回sqlite中的所有记录
- java - 如何使用 GSON 库将 excel 文件数据转换为 JSON 格式?
- google-analytics - 如何在 Google Analytics 中使用“正则表达式”作为“包含”?
- python - 如何在谷歌 colab 中读取图像数据集以进行深度学习?
- spring-integration - Spring Integration - 分组适配器和故障隔离
- ssl - 使用 pyopenssl_psk 为密码套件 PSK-AES128-GCM-SHA256 创建安全连接时遇到错误
- shiny - 以两行打印表格标题 R 闪亮
- python - discord.py on_guild_join 事件