Environment: Office 365, SharePoint Online, Visual Studio 2015, SharePoint JSOM
Scenario: Create a SharePoint hosted app to get the SharePoint list details from the root web.
Error: Uncaught TypeError: SP.ProxyWebRequestExecutorFactory is not a function
Code snippet where the error has occurred is marked in red
hostwebUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
appwebUrl = decodeURIComponent(getQueryStringParameter("SPAppWebUrl"));
context = new SP.ClientContext(appwebUrl);
factory = new SP.ProxyWebRequestExecutorFactory(appwebUrl);
Troubleshooting: According to this article, SP.ProxyWebRequestExecutorFactory is member of Request Executor(sp.requestexecutor.js). So the script file should be loaded explicitly in order to avoid the error.
Fix: Reference the SP.RequestExecutor.js in the page
<script type="text/javascript" src="/_layouts/15/SP.RequestExecutor.js"></script>