首页 > 解决方案 > 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);

标签: apisalesforceprofilesalesforce-communities

解决方案


在“[您的站点名称] 访客用户”上放置一个调试日志以验证数据是否真正进入。是的,所有未登录的访问都会有一个特殊用户,就像有站点配置文件一样。如果没有<apex:pageMessages>组件(或者可能存在但您使用rerender属性但未包含它),则可能会出现错误。

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


推荐阅读