从顶点控制器类返回数组,并在Salesforce中的javascript中使用

Returning array from apex controller class and using in javascript in Salesforce

本文关键字:中的 Salesforce javascript 并在 控制器 顶点 返回 数组      更新时间:2023-09-26

我想在visualforce中从apex自定义控制器类返回一个数组,并在JavaScript中使用该数组。

我的表现:

Javascript:
   var SFObjectArray;
   function myJavascriptMethod()
   {
      SFObjectArray = myArrayItems();
   }

Apex:
<apex:actionFunction name="myArrayItems" 
                     action="{!myArrayItems}" 
                     status="mystatus" 
                     reRender="out"/>
</apex:actionFunction>
Controller:
public class MyController
{
  String[] arrayItems;
   public PageReference myArrayItems()
    {
       arrayItems = new String[]{'abc','def'};
        return null;
    }
    public String[] getItems()
     {
       return arrayItems ;
     }  
}

有人能帮我吗。

您必须动态构建javascript,apex控制器方法不会返回javascript对象。我会使用visualforce repeat标记来构建javascript数组,如下所示。

var SFObjectArray = new Array();
<apex:repeat value="{!arrayItems}" var="arrayItem">
SFObjectArray.push('{!arrayItem}');
</apex:repeat>

您还可以使用javascript远程处理功能,它将为您返回一个javascript对象/数组:

controllerLeadReviewToolSetup.asyncFunction(Parameter, function(result, event)
{
    if(event.status)
    {
        for(var i = 0; i < result.size; i++)
        {
           [result[iterator]].toString();
        }
    }
}, {escape:true});

点击此处了解更多信息http://www.salesforce.com/us/developer/docs/pages/Content/pages_js_remoting.htm