Резюме: продолжайте получать нулевой ответ, несмотря на общедоступные данные и настройку обратного вызова для включения междоменного JSON. Пожалуйста, помогите!
Подобный вопрос был дан ответ здесь
При использовании нового API-интерфейса facebook facebook ajax звонки возвращают ноль (пусто)
но я не использую jquery и пытался адаптировать свой код для отражения этого ответа.
Я пытаюсь использовать простой пример для проверки простого обработчика xmlhttprequest. У меня есть эта ссылка на моей странице:
<a href='javascript:loadXMLDoc(\"https://graph.facebook.com/btaylor?callback=methodname\",\"\")'>AJAX LINK</a>
Параметр callback = methodname предназначен для включения междоменного JSON
Я использую универсальный конструктор XMLhttprequest:
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);
}
}
}
У меня есть обработчик:
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{
}
}
Но я продолжаю получать нулевой ответ (statusText OK, код состояния 0). Есть идеи?
Заранее спасибо