/ / SCRIPT5: L'accès est refusé sur IE9 - javascript, internet-explorer, internet-explorer-9

SCRIPT5: l'accès est refusé sur IE9 - javascript, internet-explorer, internet-explorer-9

Je ne peux pas "accéder à une URL en utilisant ce script sur IE9. Sous Chrome et Firefox, cela fonctionne correctement. Lorsque je débogue (F12) sur IE9, je reçois:

SCRIPT5: ACCESS DENIED.

Ma fonction:

function NewPage2() {
var xmlHttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlHttp = new XMLHttpRequest();

} else { // code for IE6, IE5
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("GET", "https://graph.facebook.com/oauth/access_token?client_id=" +
"<%=ConfigurationManager.AppSettings["clientId"].ToString() %>" +
"&redirect_uri=" + <%=ConfigurationManager.AppSettings["redirectUrl"].ToString() %>" +
"&state=" + document.getElementById("text").value +
"&client_secret=" + "<%=ConfigurationManager.AppSettings["client_secret"].ToString() %>" +
"&code=" + getUrlVars2()["code"], false);
xmlHttp.send(null);
end(xmlHttp.responseText + "&userId=" + getUrlVars2()["state"]);
}

Réponses:

1 pour la réponse № 1

Cela se produit lorsque vous essayez d'accéder à une demande ajax d'un domaine différent de votre page principale. (Dans ce cas, vous accédez à une URL depuis Facebook).

Si vous devez accéder à une URL depuis un autredomaine, il s’appelle une demande intersite. Celles-ci sont bloquées par défaut en raison de problèmes de sécurité, mais il est toujours possible de les exécuter avec un peu plus de travail.

C'est assez facile à faire avec jQuery.

La chose étrange est que même si vous avez inclusjQuery dans les balises de la question, votre code actuel n’est pas du tout utilisé à l’aide de jQuery - en fait, l’ensemble du code que vous avez fourni correspondrait à une seule ligne dans jQuery, plus cela fonctionnerait avec des requêtes intersites.

Vous devez utiliser un appel de technique Ajax JSONP, que vous pouvez trouver documenté sur le site jQuery ici: http://api.jquery.com/jQuery.ajax/

Le code ressemblerait à ceci:

$.ajax({
dataType: "jsonp",
jsonp: "jsonp_callback",
url: "https://graph.facebook.com/......",
success: function () {
// do stuff
},
});

J'espère que cela pourra aider.