Nemôžem pristupovať k adrese URL pomocou tohto skriptu v prehliadači IE9. V prehliadači Chrome a na prehliadači Firefox to funguje dobre.F12) na IE9 dostanem:
SCRIPT5: ACCESS DENIED.
Moja funkcia:
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"]);
}
odpovede:
1 pre odpoveď č. 1Toto sa stane, keď sa pokúsite o prístup k požiadavke ajax z inej domény na hlavnú stránku. (V tomto prípade budete pristupovať k adrese URL z Facebooku).
Ak potrebujete získať prístup k adrese URL z inej stránkysa nazýva Cross Site Request. Tieto sú štandardne blokované kvôli bezpečnostným dôsledkom, ale stále je možné ich vykonávať s trochou práce.
Je to celkom jednoduché urobiť s jQuery.
Zvláštnosťou je, že aj keď ste zahrnulijQuery v tagoch na otázku, váš skutočný kód isn "t používať jQuery vôbec - v skutočnosti, celý kód, ktorý ste" by poskytol by bol jeden riadok v jQuery, plus by to fungovalo s cross-site požiadavky.
Musíte použiť techniku Ajax volať JSONP, ktorú môžete nájsť zdokumentovanú na stránke jQuery tu: http://api.jquery.com/jQuery.ajax/
Kód by mal vyzerať takto:
$.ajax({
dataType: "jsonp",
jsonp: "jsonp_callback",
url: "https://graph.facebook.com/......",
success: function () {
// do stuff
},
});
dúfam, že to pomôže.