powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблемы с AJAX и IE
22 сообщений из 22, страница 1 из 1
Проблемы с AJAX и IE
    #34480016
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя эта тема и не из этого раздела(есть элементы PHP), но упоминание по ajax здесь чаще... Хотел сделать голосование на своем сайте и у меня возникла проблема, которая посавила меня в тупик... Книга ajax в действии ни к чему не привела... В опере все ОК. В IE происходит какое-то залипание, и пока не перегрузиш страницу, ничего не происходит... Пожалуйста, помогите... Уже месяц мучаюсь с этой проблемой...
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34480089
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Книга эта вообще супер. проблему немешало бы описать
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34480200
@RuSHA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trevojnuiХотя эта тема и не из этого раздела(есть элементы PHP), но упоминание по ajax здесь чаще... Хотел сделать голосование на своем сайте и у меня возникла проблема, которая посавила меня в тупик... Книга ajax в действии ни к чему не привела... В опере все ОК. В IE происходит какое-то залипание, и пока не перегрузиш страницу, ничего не происходит... Пожалуйста, помогите... Уже месяц мучаюсь с этой проблемой...

файл index.php

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="javascript" type="text/javascript">
//------------------------------------
function createXmlHttpRequestObject(){
var xmlHttp;
try{
        xmlHttp=new XMLHttpRequest();
}
catch(e){
        try{
                xmlHttp=new ActiveXObject("MSXML2.XMLHTTP");
        }
        catch(e){
                try{
                        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(e){}
        }
}
if(!xmlHttp){
        alert("Не удалось создать объект XMLHttpRequest");
}
return xmlHttp;
}

//--------------------------------------------
function getResponseText(xmlHttp){
// возвращает текст отклика сервера на xmlHttpRequest
var txt=false;
// проверка готовности результата
if(xmlHttp.readyState ==  4 ){
        if (xmlHttp.status ==  200 ){
                // получить XML ответ сервера
                txt=xmlHttp.responseText;
        } else {
                if (xmlHttp.status ==  404 ){
                        alert("Request URL does not exist");
                } else {
                        alert("Error: status code is " + xmlHttp.status);
                }
        }
}
return txt;
}

xmlHttp=createXmlHttpRequestObject();
xmlHttp.onreadystatechange=Receive;

//------------------------------------
var myid;
function Sender(id,ball,in_put){
///////////////////////////////////////////////////////////
//             Заного объявляем переменную
//////////////////////////////////////////////////////////
xmlHttp=createXmlHttpRequestObject();
xmlHttp.onreadystatechange=Receive;
myid=in_put;
xmlHttp.open("GET","response.php?id="+id+"&ball="+ball,true);
xmlHttp.send(null);
}
//------------------------------------
function Receive(){
var txt=getResponseText(xmlHttp); if(!txt) return;
var pp= document.getElementById(myid);
pp.innerHTML=txt;
}
///////////////////////////////////////////////////////////
//             Не понял зачем стока функций если можно всё через одну ;)
//////////////////////////////////////////////////////////
        function golosovat(index){
                for( var i= 1 ; i< 11 ; i++){
                        if(document.getElementById('smile'+index+i).checked==true){
                                Sender(index,i,"myid"+index);return;
                        }
                }

        }

</script>
</head>

<body>
<?for($j= 1 ;$j< 5 ;$j++){?>
                <p id="myid<?=$j;?>"><form>
                                        <i>Оцените анекдот по десятибальной шкале</i><br>
                                        <input type="radio" id="smile<?=$j;?>1" name="smile" value="1"> 1 
                                        <input type="radio" id="smile<?=$j;?>2" name="smile" value="2"> 2 
                                        <input type="radio" id="smile<?=$j;?>3" name="smile" value="3"> 3 
                                        <input type="radio" id="smile<?=$j;?>4" name="smile" value="4"> 4 
                                        <input type="radio" id="smile<?=$j;?>5" name="smile" value="5" checked> 5 
                                        <input type="radio" id="smile<?=$j;?>6" name="smile" value="6"> 6 
                                        <input type="radio" id="smile<?=$j;?>7" name="smile" value="7"> 7 
                                        <input type="radio" id="smile<?=$j;?>8" name="smile" value="8"> 8 
                                        <input type="radio" id="smile<?=$j;?>9" name="smile" value="9"> 9 
                                        <input type="radio" id="smile<?=$j;?>10" name="smile" value="10"> 10 
                                        <input type="Button" onclick="golosovat(<?=$j;?>);" value="Голосовать">
                                </form>

</p>
<?}?>

</body>
</html>
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34480534
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот спосибо... Все получилось... Весьма благодарен..
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34481472
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно также спросить по счетчику... Так как инет не у всех быстро пашет, то можно нажать несколько раз кнопку проголосовать... Попробовал document.getElementById("myid<?=$j;?>").value="Спасибо, ваше мнение учтено!!!", но оказывается такого метода нет... И как же это реализовать??? Заранее благодарен!!!! На счет книги "AJAX в действии", я так и не понял, что имелось ввиду в строке var laoder=new net.ContentLoader('mydata.xml',parseMyData); Что имелось под parseMyData (функция обратного вызова, соответствующая успешной загрузки документа ??????)... Так и не понял что это.... Если есть возможность, нельзя ли показать на примере, представленном выше???? С этого места я перестал понимать книгу... Увы....
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34481586
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trevojnui
var laoder=new net.ContentLoader('mydata.xml',parseMyData); Что имелось под parseMyData (функция обратного вызова, соответствующая успешной загрузки документа ??????)...

Да, все так вы поняли
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34484702
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_BBB
Да, все так вы поняли
Нет, это была выдержка из книги... А вот как это можно приспособить к моей проблеме...??? И вообще, где можно узнать методы XMLHttpRequest на русском языке???
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34484801
StepLg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
из книг :) скинуть ссылки на озон?
мне понравилась Ajax для профессионалов
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34496763
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример взят из книги "AJAX в действии" под редакцией Дейв Крейна, Эрико Паскарелло от 2006

Буду признателен, если покажете где тут ошибка и почему не работает пример... Вроде бы все правильно... Хотелось бы применить его в своем голосовании...

<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
var net=new Object();
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADER=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;

net.ContentLoader=function(url,onload,onerror){
this.url=url;
this.req=null;
this.onload=onload;
this.onerror=(onerror) ? onerror : this.defaultError;
this.loadXMLDoc(url);
}

net.ContentLoader.prototype={
loadXML:function(url){
if(window.XMLHttpRequest){
this.req=new XMLHttpRequest();
}else if (window.ActiveXObject){
this.req=new ActiveXObject("Microsoft.XMLHTTP");
}
if(this.req){
try{
var loader=this;
this.req.onreadystatechange=function(){
loader.onReadyState.call(loader);
}
this.req.open('GET',url,true);
this.req.send(null);
}catch(err){
this.onerror.call(this);
}
}
},
onReadyState:function(){
var req=this.req;
var ready=req.readyState;
if(ready==net.READY_STATE_COMPLETE){
var httpStatus=req.status;
if(httpStatus==200 || httpStatus==0){
this.onload.call(this);
}else{
this.onerror.call(this);
}
}
},
defaultError:function(){
alert("error fetching data!"
+"\n\nreadyState:"+this.req.readyState
+"\n\nstatus: "+this.req.status
+"\nheaders:"+this.req.getAllResponseHeaders());
}
}

</script>
</head>

<body>
<script type="text/javascript">
var loader = new net.ContentLoader('data.txt',myCallBack());

function myCallBack(){
alert(
this.url
+" loaded! Here's the content:\n\n"
+this.req.responseText
);}
</script>


</body>
</html>


И выдает ошибку, хотя в корне у мя создан документ data.txt с надписью... Почему то выдает ошибку:

line: 70
char: 2
Error: 'this.req.responseText' is null or not an object
code: 0

Пример взят из книги "AJAX в действии" под редакцией Дейв Крейна, Эрико Паскарелло от 2006

Буду признателен, если покажете где тут ошибка и почему не работает пример... Вроде бы все правильно... Хотелось бы применить его в своем голосовании...
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34496820
WEB_bobby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в 7-мом IE тоже при использовании Ajax - запрос потверждения безопасности вылетает?У кого седьмой IE - признавайтесь!
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34507475
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мда... И тишина... И что, никто не знает как это сделать???
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34507481
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trevojnui
Код: plaintext
1.
2.
3.
4.
5.
function myCallBack(){
	alert(
		this.url
		+" loaded! Here's the content:\n\n"
		+this.req.responseText
	);}


конечно он null. Откуда в myCallBack(куда указывает this) req

в функцию передаётся объект ConetntLoader
авторthis.onload.call(this);

Код: plaintext
1.
2.
3.
4.
5.
function myCallBack(loader){
	alert(
		this.url
		+" loaded! Here's the content:\n\n"
		+loader.req.responseText
	);}
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34507493
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мда... Все равно не работает... А разве myCallBack не вызывается после создания объекта net???
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34507494
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER
конечно он null. Откуда в myCallBack(куда указывает this) req

открыл книгу, там написано как работает call

но может ИЕ рассуждает как я =)
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34507495
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trevojnuiмда... Все равно не работает... А разве myCallBack не вызывается после создания объекта net???
кстати, this.req не null?
какой у него status?
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34507498
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LINUXERоткрыл книгу, там написано как работает call

но может ИЕ рассуждает как я =)

function.call()-это метод данного объекта. Первый параметр function.call(), представляет собой контекст функции, и в теле функции на него можно ссылаться с помощью ключевого слова this.
Ничего не понял... Читаю изо дня в день... Гляжу книгу, вижу фигу... Печально...
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34507501
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LINUXER trevojnuiмда... Все равно не работает... А разве myCallBack не вызывается после создания объекта net???
кстати, this.req не null?
какой у него status?

А в чем разница написания???
function myCallBack(loader){
alert(this.url+" loaded! Here's the content:\n\n"+loader.req.responseText);}

</script>

Если по твоему, то IE молчит, а если так, то пишет req есть null или не является объектом
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34507511
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trevojnui
function.call()-это метод данного объекта. Первый параметр function.call(), представляет собой контекст функции, и в теле функции на него можно ссылаться с помощью ключевого слова this.
Ничего не понял... Читаю изо дня в день... Гляжу книгу, вижу фигу... Печально...
Возможно вначале стоит почитать про основы объектов, прототипов JS, про замыкания, или найти пример попроще.
Вобщем там объясняется, как и почему приведённый код работает
trevojnuiА в чем разница написания???
Если по твоему, то IE молчит, а если так, то пишет req есть null или не является объектом

Разница из-за того что я не понимал как работает call(). Мой вариант неправильный

попробуй это для отладки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
function myCallBack(){
  try{
    alert(this)
    alert(this.url)
    alert(this.req)
    alert(this.req.status)
    alert(this.req.readyState)
    alert(this.req.responseText)
  }catch(e){alert(e.message)}
}
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34507835
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй это для отладки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
function myCallBack(){
  try{
    alert(this)
    alert(this.url)
    alert(this.req)
    alert(this.req.status)
    alert(this.req.readyState)
    alert(this.req.responseText)
  }catch(e){alert(e.message)}
}
[/quot]
Увы... и ентот не правильный... Правда в книге было написано "Написать обработчик обратного вызова, передоваемый объекту ContentLoader, очень легко." Видать код с подковыркой...
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34513316
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще вопрос по браузеру IE. Упорно вылетает ошибка такого плана... "
Системная ошибка -1072896748.
Код 0
"
И что бы это значило? Код выполняется полностью, все работает... Только вот эта маленькая неприятность...
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34554159
trevojnui
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что это за загадочная "e" в }catch(e){alert(e.message)}. Постоянно встречаю, но что это и для чего?
...
Рейтинг: 0 / 0
Проблемы с AJAX и IE
    #34554172
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trevojnuiЧто это за загадочная "e" в }catch(e){alert(e.message)}. Постоянно встречаю, но что это и для чего?
Это называется обработка исключений
e - исключение/exception.
try{a=1/0;}catch(e){a=0;alert("произошла ошибка "+e+", в a присвоен 0");}
оно ловится и обрабатывается
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблемы с AJAX и IE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]