【问题标题】:Salesforce Send data from visualforce page to apex controller with JquerySalesforce 使用 Jquery 将数据从 visualforce 页面发送到顶点控制器
【发布时间】:2013-06-26 14:49:28
【问题描述】:

我是 Salesforce 新手,对 VisualForce 页面 (VF) 和 Apex 控制器有疑问。

如果我有一个包含控制器的 VF 页面,那么当页面加载时,将在 SFDC 上创建一个新的控制器实例。这是正确的吗?

如果正确,那么控制器将有一些状态,其中包含一些保存一些数据的变量。如果我想访问标签中也包含相同控制器的 VF 页面,那么该 VF 页面是否可以访问同一控制器实例的相同信息,还是会创建该控制器的新实例?

我知道 using 可用于对控制器进行 ajax 调用,该控制器从客户端发送视图状态并在响应到达浏览器时更新视图状态。但是,当我使用 .我不想要所有这些垃圾。我只需要从控制器发送一个小的 JSON 字符串。

我正在尝试对一些 VF 页面使用 JQuery AJAX 调用,该页面也包含相同的控制器。我的疑问是它是使用该控制器的相同实例还是会创建一个新实例?

【问题讨论】:

    标签: salesforce apex-code visualforce


    【解决方案1】:

    你可以使用 RemoteAction

    global with sharing class myController{
        @RemoteAction
        global static string foo(String str) {
            return 'OK';
        }
    }
    

    在页面上

    <script>
    myController.foo('str',callBack)
    
    function callBack(res){
      alert(res);
    }
    </script>
    

    【讨论】:

    • 你很好。但我确实在控制器中有一些实例变量,它们根据用户权限和共享规则保存数据。那静态方法可以用来处理那种类型的实例变量吗?这会尊重共享规则吗?
    • 否,但您可以将它们发送到 function 。全局静态字符串 foo(String str,String str,String str) 和页面 myController.foo('str','{! variable1}',...,callBack)
    • 我的要求是只获取一个没有任何视图状态垃圾的 JSON 字符串,并且需要使用两个使用相同控制器的 VF 页面来支持实例变量值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    相关资源
    最近更新 更多