Re: XMLHttpRequest.Open
От: Диспетчер Россия  
Дата: 07.07.09 05:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте господа !


А> Пробуя нарисовать чтонибудь Ajax-о видное выяснил не очень понятную подробность, может быть ктонибудь прокоментирует сее или расскажет откуда ноги ростут ?


А> А дело вот как было :

А> Нарисовал я для пробы примерчик в Jscript
А> xr = new XMLHttpRequest();
А> xr.open('POST', 'http://www.google.ru', false);
А> xr.setRequestHeader("Content-Type", "text/xml");
А> xr.send(null);
А> return xr.responseText;
А> метод OPEN проходит нормально без ошибок только в том случае если в URL нет HTTP либо HTTPS но в этом случае возвращается страница в HTML на которой говорится что этот урл не найден .
А> Но как только я подставляю HTTP в УРЛ метод OPEN на отладке выдает сообщение:
А> "Ошибка выполнения Microsoft JScript: Разрешение отклонено"

А> Как тогда сформировать и отослать запрос со своей страницы на другой урл чтобы воспользоваться другим контентом?


Насколько я понимаю принцип действия AJAX, и, в частности, метода open(), url должен быть в пределах видимости одного приложения, то есть, не url, а относительный адрес запрашиваемой страницы. Иначе, это уже не AJAX, а зачатки сервиса, а там уже другие правила и принципы работы.

function retrieveURL(action, page){
    if (window.XMLHttpRequest) { // Non-IE browsers
        xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = processStateChange;
        try {
            xmlhttp.open("GET", page, true);
        } catch (e) {
            alert(e);
        }
        xmlhttp.send(null);
    } else if (window.ActiveXObject) { // IE
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        if (xmlhttp) {
            xmlhttp.onreadystatechange = processStateChange;
            xmlhttp.open("GET", page, true);
            xmlhttp.send();
        }
    }
}
ajax xmlhttprequest onreadystatechange
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.