Created
February 2, 2012 08:28
-
-
Save melvincarvalho/1722352 to your computer and use it in GitHub Desktop.
CORS request
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create the XHR object. | |
function createCORSRequest(method, url) { | |
var xhr = new XMLHttpRequest(); | |
if ("withCredentials" in xhr) { | |
// XHR for Chrome/Safari/Firefox. | |
xhr.open(method, url, true); | |
} else if (typeof XDomainRequest != "undefined") { | |
// XDomainRequest for IE. | |
xhr = new XDomainRequest(); | |
xhr.open(method, url); | |
} else { | |
// CORS not supported. | |
xhr = null; | |
} | |
return xhr; | |
} | |
// Helper method to parse the title tag from the response. | |
function getTitle(text) { | |
return text.match('<title>(.*)?</title>')[1]; | |
} | |
// Make the actual CORS request. | |
function makeCorsRequest() { | |
// bibliographica.org supports CORS. | |
var url = 'http://xmlns.com/foaf/0.1/Person'; | |
var xhr = createCORSRequest('GET', url); | |
if (!xhr) { | |
alert('CORS not supported'); | |
return; | |
} | |
// Response handlers. | |
xhr.onload = function() { | |
var text = xhr.responseText; | |
var title = getTitle(text); | |
alert('Response from CORS request to ' + url + ': ' + title); | |
}; | |
xhr.onerror = function() { | |
alert('Woops, there was an error making the request.'); | |
}; | |
xhr.send(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment