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

从apex控制器类返回数组并在Salesforce的javascript中使用,javascript,apex-code,visualforce,Javascript,Apex Code,Visualforce,我想从visualforce中的apex自定义控制器类返回一个数组,并在JavaScript中使用该数组 我做得怎么样: Javascript: var SFObjectArray; function myJavascriptMethod() { SFObjectArray = myArrayItems(); } Apex: <apex:actionFunction name="myArrayItems"

我想从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:
var-SFObjectArray;
函数myJavascriptMethod()
{
SFObjectArray=myArrayItems();
}
顶:
控制器:
公共类MyController
{
字符串[]数组项;
公共页面引用myArrayItems()
{
arrayItems=新字符串[]{'abc','def'};
返回null;
}
公共字符串[]getItems()
{
返回数组项;
}  
}

谁能给我一些帮助。

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

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

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

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

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

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

        }
    }
}, {escape:true});
controllerLeadReviewToolSetup.asyncFunction(参数、函数(结果、事件)
{
如果(事件状态)
{
对于(变量i=0;i

更多信息请参见此处

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

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

        }
    }
}, {escape:true});
controllerLeadReviewToolSetup.asyncFunction(参数、函数(结果、事件)
{
如果(事件状态)
{
对于(变量i=0;i

更多关于这方面的信息

有人能给我一些帮助吗!!!!!!!谁能给我一些帮助!!!!!!!