У меня проблема с методом xhr open(). Мой код следующим образом:XMLHttpRequest open() возвращающий доступ denied
var xmlhttp=false;
if(!xmlhttp)
try
{
xmlhttp=new XMLHttpRequest();
}
catch(e)
{
xmlhttp=false;
}
function returnPage(url)
{
if(!xmlhttp)
return alert("Your browser doesn't seem to support XMLHttpRequests.");
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState!=4) return;
if(!xmlhttp.status||xmlhttp.status==200)
alert(xmlhttp.responseText);
else
alert("Request failed!");
}; //onreadystatechange
xmlhttp.send(null);
}
Вызов:
<a href='#' onclick="returnPage('http://www.something.com'); return false;">Link 1</a></p>
Я использую IE8 (потому что я создаю веб-фрагмент), и я получил сообщение об ошибке "Доступ запрещен". Я нашел в Интернете, что проблема в том, что XHR не работает в разных доменах, но я использовал код из дополнения Firefox, который работает нормально. И этот дополнительный код и «мой» код (то же самое) вызывают одну и ту же страницу. Как у этого дополнения есть доступ, а мой код нет?
Нет, и я знал об этой проблеме. Но я смущен тем, как работает надстройка Firefox, кто также делает XHR-вызов на «странице», а мой код - нет? Код тот же. – rjovic
@rjovic - см. Мое редактирование. Надстройки имеют повышенные привилегии, поскольку конечный пользователь должен фактически установить надстройку. – Matt
Что делать, если это локальная страница html, которая должна читать локальный файл с помощью xmlhttprequest.open()? – Maxim