javascript 如何使用soql获取记录列表,然后从vf页面JS访问该列表

6l7fqoea  于 2023-02-21  发布在  Java
关注(0)|答案(1)|浏览(122)

我有一个顶点控制器,其中有自定义对象学生记录列表

public with sharing class get studentlist{
  public List<Student__c> students {get; set;}

 public studentlist(){
   List<Student__c> getStudents = [SELECT Id, Name FROM Student__c];
   List<Student__c> students;
   for(Student__c stu : getStudents ){
            students .add(stu);
   }
 }
}


<apex:page controller="studentlist">
  <script>
   var requests = []; 
</script>

    <apex:repeat value="{!students }" var="request"> 
        <script> 
            requests.push('{!request}'); 
        </script> 
    </apex:repeat> 
<script>

        window.onload = alertRequest;    

        function alertRequest(){
            console.log('requests', {!students});
         alert(requests[0]);

        }

    </script> 

</apex:page>

我犯了什么错误得到了未定义的结果。
或者给予我一个方法,我可以访问列表从顶点到js在visualforce

hec6srdp

hec6srdp1#

你在构造函数中填充了2个局部变量,而不是类级变量。你重新声明了一个同名的变量,它叫做“shadowing“。
这将修复您的构造函数:

public List<Student__c> students {get; set;}

public studentlist(){
    students = [SELECT Id, Name FROM Student__c];
}

至于从apex向js传递数据--你听说过“remoting”吗?方法的比较:https://stackoverflow.com/a/73085610/313628(无耻插头)

相关问题