JavaScript Client to Test CORS: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
Line 6: Line 6:
=Example=
=Example=
<syntaxhighlight lang='html'>
<syntaxhighlight lang='html'>
<!DOCTYPE html>
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
Line 77: Line 78:


</body>
</body>
</html></syntaxhighlight>
</html>
</syntaxhighlight>

Latest revision as of 00:13, 30 March 2019

Internal

Example

<!DOCTYPE html>
<!DOCTYPE html>
<html>
<head>
    <script>

        var stageUrl = 'https://c2shocjc3d.execute-api.us-west-2.amazonaws.com/v17';

        function invokeOptions() {

            invoke('OPTIONS');
        }

        function invokeGet() {

            invoke('GET');
        }

        function invoke(method) {

            var url = stageUrl + '/inhabitants';

            var xhr = createCORSRequest(method, url);

            xhr.withCredentials = false;

            xhr.onload = function() {

                document.getElementById("result").innerHTML = xhr.responseText;
            };

            xhr.onerror = function() {

                document.getElementById("result").innerHTML = "ERROR: " + xhr.responseText;
            };

            xhr.send();
        }

        var createCORSRequest = function(method, url) {

            var xhr = new XMLHttpRequest();

            xhr.overrideMimeType("application/json");

            if ("withCredentials" in xhr) {

                xhr.open(method, url, true);
            }
            else {

                // CORS not supported.
                xhr = null;
            }

            return xhr;
        };

    </script>
</head>
<body>

<h1>CORS TEST</h1>

<button type="button" onclick="invokeOptions()">Invoke OPTIONS</button>
<br>
<br>
<button type="button" onclick="invokeGet()">Invoke GET</button>

<p id="result"></p>

</body>
</html>