Sample Code 1:-
<apex:page> <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> <script> function Callout() { var JSONResponse = ''; var JsonBody = ''; JsonBody = '{Request Body}'; console.log('--JsonBody ------->'+JsonBody ); var xhr = new XMLHttpRequest(); xhr.open("POST", "END_POINT_URL", true); <!-- xhr.setRequestHeader("Authorization","Bearer {!AccessToken}" ); --> xhr.setRequestHeader("Content-type", "application/json;charset=UTF-8"); xhr.setRequestHeader("Accept", "application/json"); xhr.onload = function () { JSONResponse = xhr.responseText; console.log('--JSONResponse ------->'+xhr.responseText); }; xhr.send(JsonBody); setTimeout( function() { if(xhr.status == 404){ } else if(xhr.status == 401){ } else if(xhr.status == 500){ } else if(xhr.status == 200) { obj1 = JSON.parse(JSONResponse ); for(var x=0;x< obj1.length;x++) { var singleEle = obj1[x]; console.log('--singleEle ------->'+singleEle ); } } }, 2000); } </script> <apex:form> <apex:pageBlock> <apex:pageBlockButtons location="Top"> <button type="button" onclick="Callout();" style="height:22px; width:150px" > Make Callout </button> </apex:pageBlockButtons> </apex:pageBlock> </apex:form> </apex:page>
Sample Code 2:-
<html ng-app="demo"> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script> <script> angular.module('demo', []) .controller('Hello', function($scope, $http) { var req = { method: 'GET', url: 'END_POINT_URL', headers: { 'Content-Type': 'application/json', 'accept':'application/json', 'authorization':'Bearer TOKEN_VALUE' }, body:{'test body'} }; $http(req).then(function(response) { $scope.greeting = response.data; }); }); </script> <body> <div ng-controller="Hello"> <p>Content is {{greeting}}</p> </div> </body> </html>
You May get below error
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at END_POINT_URL. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
Solution :- To resolve the issue you need to request external system to add Salesforce Base URL in CORS
https://zinoui.com/blog/cross-domain-ajax-request
http://www.toppctech.com/best-fix-ssl_error_weak_server_ephemeral_dh_key-error/
Thanks
Amit Chaudhary
Thank you for this blog. It is very useful. Share more like this.
ReplyDeleteJAVA Training in Chennai
JAVA Course in Chennai