VisualForce页面数据在站点中不可见,数据来自Mock API

问题描述

谢谢您的帮助,

我已经创建了Visualforce页面,并且页面数据来自MOCK API。

我已经创建了一个站点,并在该站点的“公共访问设置” [站点配置文件]下添加了VisualForce页面

  1. 页面控制器”访问权也授予站点配置文件,并且所有与之相关的类 API

  2. 我浏览了博客,发现可以访问个人资料。我已经检查了所有无用的对象,因为数据来自API,而不是来自自定义对象。

我被困在这里,任何人都可以帮我吗

谢谢

Http http = new Http();
    HttpRequest request = new HttpRequest();
    request.setHeader('Authorization','Mock'+ UserInfo.getSessionId());
    request.setHeader('Accept','application/json');
    request.setEndpoint('https://test.my.salesforce.com/services/apexrest/mockapi/mockapi.json');
    request.setMethod('GET');
    
    HttpResponse response = http.send(request);

解决方法

在“ [您的站点名称]来宾用户”上放置一个调试日志,以验证是否确实有数据输入。是的,对于所有未登录访问,将有一个特殊用户,就像站点配置文件一样。如果没有<apex:pageMessages>组件(或者也许有,但是您使用了rerender属性并且没有包含它),您可能看不到错误。

您将什么作为API调用结果传递给Visualforce?然后由JavaScript解析的原始JSON / XML?如果您从其中解析出一个真实的Apex对象,请确保您的对象具有https://stackoverflow.com/a/63638698/313628

中的getter / setter方法