When coding JavaScript with SP-PNP-JS I came across the error below and wanted to document for others. Cheers!

Error
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0



Root Cause
When calling HTTP GET the default Header “accept: application/json” can return data as XML.
Use F12 Developer Tools to view network traffic with HTTP headers and raw response text.
Solution
Modify JS code to initialize AngularJS with different HTTP headers.
Now SharePoint PNP api calls with Header “accept: application/json; odata=verbose” and returns data as JSON for correct parsing.
$pnp.setup({ headers: { "Accept": "application/json; odata=verbose" } });
