Ajax "Hello World" возможно ли?

Статус
В этой теме нельзя размещать новые ответы.

Danko

Новичок
Автор оригинала: denver
Очень информативное собщение :)
Это что ж за браузер такое выдает?
браузер Firefox/1.5, IE - молчит.

Посоветовали мне убрать в коде (см.выше) некие строчки.
Привожу часть кода с закомментированными строчками:
PHP:
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            http_request = new XMLHttpRequest();
//            if (http_request.overrideMimeType) {
//                http_request.overrideMimeType('text/xml');
//                // See note below about this line
//            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
так все работае на УРА. Если можно, хотел бы услышать по этому поводу объяснения.
 

collapse

Новичок
Firefox не использует XMLHttpRequest, все происходит через ActiveX. На мой взгляд это существенная недоработка
 

master_x

Pitavale XXI wieku
collapse
Firefox не использует XMLHttpRequest, все происходит через ActiveX. На мой взгляд это существенная недоработка
ты знаешь о чем ты говоришь?

Фанат
во-вторых, попобуй посмотреть у Котерова в его билиотеке - как он меняет src
ты наверное и сам уже понял, что дал весьма странный совет?

Danko
вот посоветовал бы я тебе использовать prototype... но ты же ведь хочешь все сам с нуля... да и размер сей библиотеки тебя естественно испугает. вот смотри пример:
Код:
<script>
	function getHTML()
	{
		var url = 'http://yourserver/app/getSomeHTML';
		var pars = 'someParameter=ABC';
		
var myAjax = new Ajax.Updater( 'placeholder', url, { method: 'get', parameters: pars });

	}
</script>

<input type="button" value="GetHtml" onclick="getHTML()">
<div id="placeholder"></div>
здесь очень четко видно что при нажатии кнопочки мы обратимся к server-side скрипту за нужным нам HTML и при этом prototype за тебя вставит этот HTML в div c id "placeholder". даже весьма сложные ajax-приложения пишутся с prototype легко.
 

denver

?>Скриптер
Danko
Приведи XML код который возвращается, тот самый из-за которого "Ошибка: Неизвестный". Или сам проверь - сделай alert(http_request.responseText), наверняка у тебя какие-то варнинги до XML или что-то типа того. У меня всё ок работает с http_request.overrideMimeType('text/xml'), а твою ошибку получал когда похабил XML..

master_x
В сложных AJAX приложениях (аля netvibes.com) яваскрипт никак не может не изменять/создавать HTML, если же его будет создавать также и PHP то это будет дублирование кода. Если же _только_ PHP, то это будет не асинхронный "мгновенный" обмен, а медленный "последовательный", что-то типа того.
 

master_x

Pitavale XXI wieku
denver
prototype также легко работает с XML ответом как и с HTML. Вернее ты с ним будешь работать. Я привел Ajax.Updater как самый простейший пример для начала.
 

Danko

Новичок
Автор оригинала: denver
Danko
Приведи XML код который возвращается, тот самый из-за которого "Ошибка: Неизвестный". Или сам проверь - сделай alert(http_request.responseText), наверняка у тебя какие-то варнинги до XML или что-то типа того. У меня всё ок работает с http_request.overrideMimeType('text/xml'), а твою ошибку получал когда похабил XML..
Действительно, у меня возвращается в скрипт не формат XML, но так задумано (в большей степени из-за лени), т.к. это пробные варианты.
Значит http_request.overrideMimeType('text/xml') проверяе валидность водвращаемого XML ?
 

denver

?>Скриптер
overrideMimeType('text/xml') ничего не проверяет. Его нужно использовать тогда когда ты не можешь выставить у возвращающего скрипта Content-Type: text/xml хеадер (напр. чужой сервер). Если ты не юзаешь XML то и не нужно посылать соответствующие хеадеры.
 

BNS

Новичок
http://dklab.ru/lib/Subsys_JsHttpRequest/

там лежит готовый класс для организации AJAX'a - муторно написано, но я например вник и везде юзаю и не могу нарадоваться
 

baev

‹°°¬•
Команда форума
BNS, это четвёртая ссылка в первом посте этой темы.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху