Résumé: Continuer d'obtenir une réponse nulle malgré les données publiques et le paramètre de rappel pour activer le domaine JSON inter-domaine. S'il vous plaît aider!facebook graph api ajax XMLHttpRequest - Résultat nul?
Une question similaire a été répondu ici
Using the new facebook graph api, ajax calls returns null (empty)
mais je ne suis pas en utilisant jquery et ont essayé d'adapter mon code pour refléter cette réponse. J'essaie d'utiliser un exemple simple pour tester un simple gestionnaire xmlhttprequest. J'ai ce lien dans ma page:
<a href='javascript:loadXMLDoc(\"https://graph.facebook.com/btaylor?callback=methodname\",\"\")'>AJAX LINK</a>
Le rappel = paramètre nomMéthode est de permettre le domaine JSON
cross J'utilise un constructeur XMLHttpRequest générique:
var req; // Request object
function loadXMLDoc(url,params){
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.setRequestHeader("Content-length", params.length);
req.setRequestHeader("Connection", "close");
req.send(params);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.setRequestHeader("Content-length", params.length);
req.setRequestHeader("Connection", "close");
req.send(params);
}
}
}
J'ai alors gestionnaire:
function processReqChange(){
if (req.readyState == 4) {
if (req.status == 200) {
alert("Done");
} else {
//alert("There was a problem retrieving the data:\n" + req.statusText);
alert("Status Code = "+req.status);
alert("There was a problem retrieving the data:\n");
alert("Failed : object = "+req);
alert(req.responseXML);
alert("Failed : response = "+req.responseText);
alert("Failed : status = "+req.statusText);
}
}else{
}
}
Mais je reçois toujours une réponse nulle (statusText OK, code d'état 0). Des idées?
Merci à l'avance
Merci Mike. Tu avais raison, je n'avais pas la tête autour de JSONP.L'approche de l'étiquette de script semble IMO un peu hacky donc, dans l'ensemble, j'ai décidé de faire le grand saut avec jquery. Je l'ai éteint, mais voilà ... – Derek