我创建了一个VF页面和RemoteAction,在apex类或vf页面中的任何位置都没有system.debug或console.log,因此在Chrome开发人员工具中 - >控制台日志没有输出,但令人惊讶的是在网络选项卡中,如果选择apexremote,您将看到查询返回的数据,甚至是对象中的加密字段。
如果您看到下面的代码,则credit_card__c字段已加密,我甚至没有在我的VF中公开它,仍然在Chrome开发人员工具网络标签中我看到了整个数据。
如何在Chrome开发者工具的网络标签中停止任何日志?
global class AccountRemoteService {
public String accountName { get; set; }
public static Account account { get; set; }
global AccountRemoteService(){}
@RemoteAction
global static Account getAccount(String accountName)
{
account = [SELECT id, name, credit_card__c FROM Account WHERE name = :accountName ];
return account;
}
}
VF页面
<apex:page controller="AccountRemoteService">
<script type="text/javascript">
function getRemoteAccount()
{
//get the values of input text and place into the variable.
var paramAccountName = document.getElementById('accName').value;
AccountRemoteService.getAccount( paramAccountName,
function(result, event)
{
alert('event.status==>'+event.status);
alert('event.type === '+event.type);
alert('event.message ==>'+event.message);
if (event.status)
{
// demonstrates how to get ID for HTML and Visualforce tags
document.getElementById("{!$Component.theBlock.thePageBlockSection.accountId.Id}").innerHTML = result.Id;
document.getElementById("{!$Component.theBlock.thePageBlockSection.accountName.Nam}").innerHTML = result.Name;
}
else if (event.type === 'exception')
{
document.getElementById("errors-js").innerHTML = event.message;
} else
{
document.getElementById("errors-js").innerHTML = 'No Records Found..';
}
}, {escape:true});
}
</script>
Account Name :<input id="accName" type="text" />
<button onclick="getRemoteAccount()">Get Account</button>
<div id="errors-js"> </div>
<apex:pageBlock id="theBlock">
<apex:pageBlockSection id="thePageBlockSection" columns="2">
<apex:pageBlockSectionItem id="accountId">
<apex:outputText id="Id"/>
</apex:pageBlockSectionItem>
<apex:pageBlockSectionItem id="accountName" >
<apex:outputText id="Nam" />
</apex:pageBlockSectionItem>
</apex:pageBlockSection>
</apex:pageBlock>
答案 0 :(得分:0)
这里有很多你正在做的事情应该以不同的方式完成,我只想提到一边。
简而言之,某些情况下加密字段没有被屏蔽,我建议使用平台功能,这有助于简化这一过程。有关详细信息,请参阅here。
您可以使用actionRegion commandButtons和部分页面重新渲染来实现相同或类似的效果。