Salesforce - 通过 Apex Controller 执行 Javascript
Salesforce - Executing Javascript through Apex Controller
我是Salesforce的新手,我试图决定如何处理SOAP网络服务的调用。目前,当用户单击"业务机会"页面上的按钮时,Web 服务正在通过 AJAX 执行。我被要求将 Web 服务调用从按钮中移出并将其放入自定义控制器页面中。因此,当满足某些条件时,需要无缝调用 Web 服务,而不是让用户单击按钮。
我想使用相同的 ajax 语句启动 Web 服务,因为它可以节省我的时间。虽然通过 Apex 调用 Web 服务似乎更有意义,但我仍在研究该主题。所以这是我的问题:
是否可以从 Apex 控制器中执行以下 JavaScript?如果是这样,怎么办?
{!REQUIRESCRIPT("/soap/ajax/24.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/24.0/apex.js")}
var xfolder = "MyNewFolder"
var parentid = "999999999999999"
var myvar = sforce.apex.execute("myWS","invokeExternalWs", {folderName:xfolder,ObjectID:parentid});
window.alert('Folder created: ' + myvar);
首先仔细阅读以下参考文档:Action Functions、Ajax 中的 Apex 或 Visualforce JavaScript Remoting。
执行您要求的操作的最简单方法是使用 <apex:includeScript>
标记(如下所示)在页面上包含connection.js
和apex.js
文件。
<apex:includeScript value="/soap/ajax/24.0/connection.js"/>
<apex:includeScript value="/soap/ajax/24.0/apex.js"/>
然后,将 JavaScript 放入 <page>
标签下的 <script>
标签中的函数中。
<script>
function invokeWebService()
{
var xfolder = "MyNewFolder"
var parentid = "999999999999999"
var myvar = sforce.apex.execute("myWS","invokeExternalWs", {folderName:xfolder,ObjectID:parentid});
window.alert('Folder created: ' + myvar);
}
</script>
最后,使用输入按钮上的 onclick
属性调用函数。
<button type="button" onclick="invokeWebService();" style="btn">Invoke</button>
注意。。我还没有测试过任何这些,但它应该可以进行细微的调整(我已经多次使用类似的方法)。
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 在Safari执行javascript之前对其进行修改
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何在从浏览缓存加载页面时执行javascript
- 使用Rhino和ASE执行Javascript的区别
- 如何在加载完整页面后严格执行javascript代码
- 在动态加载的对话框中执行Javascript
- 在Sinatra中执行Javascript
- 通过AJAX加载页面并执行javascript和CSS
- 适用于多种浏览器的Selenium-需要能够执行javascript的webDriver
- 如何在seleniumwebdriver中执行javascript提示并等待接受输入
- 在window.open()生成的窗口中执行JavaScript
- AJAX成功回调-执行javascript时出现问题
- 通过指令在控制器中执行javascript函数
- 从React Native Android原生地执行JavaScript代码
- iframe未执行Javascript方法(PHP)
- 执行JavaScript代码,使用selenium webdriver或WatiN从控制台获取日志
- 通过web驱动程序异步执行Javascript
- 如何在长时间执行JavaScript期间显示微调器
- 点击困难时执行javascript函数