Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: проблема с AJAX
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1] 

> Без описания
KROt
Отправлено: 11 Октября, 2007 - 14:02:02
Post Id



Java-скриптер


Покинул форум
Сообщений всего: 72
Дата рег-ции: Авг. 2006  

Карма 0




Всем привет! Давно я тут не был... Решил сделать свой собственный фреймворк с поддержкой AJAX, но возникла проблема - эта опция почему-то работает у меня только в Internet Explorer, в Opera и Firefox работать не хочет. В логах ошибок Firefox пишет следующее: "Ошибка: uncaught exception: Permission denied to call method XMLHttpRequest.open". Opera не выводит никаких ошибок, но и AJAX при этом тоже не работает...
Кусок кода функции:
CODE:

function SEJSLib() {
this.applyAJAXRequest = function(ajaxdarr) {
var argsN = [];
var an = 0;
for(n in ajaxdarr) {
argsN[an] = n;
an++;
}
var jsRequest = null;
try {
jsRequest = new XMLHttpRequest();
} catch(trymicrosoft) {
try {
jsRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch(othermicrosoft) {
try {
jsRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch(failed) {
jsRequest = null;
}
}
}
if(jsRequest != null) {
if(ajaxdarr[argsN[0]] != "" || ajaxdarr[argsN[1]] != "" || ajaxdarr[argsN[3]] != "") {
if(ajaxdarr[argsN[1]].toUpperCase() == "GET" || ajaxdarr[argsN[1]].toUpperCase() == "POST") {
var url = ajaxdarr[argsN[0]];
var method = ajaxdarr[argsN[1]].toUpperCase();
var usersActivity = ajaxdarr[argsN[3]];
var data = null;
if(ajaxdarr[argsN[2]] != "") {
data = ajaxdarr[argsN[2]];
}
if(method == "GET") {
if(url.indexOf("?") == -1) {
url += "?nocache=" + new Date().getTime();
} else {
url += "&nocache=" + new Date().getTime();
}
}
jsRequest.open(method,url,usersActivity);
jsRequest.onreadystatechange = function() {
if(jsRequest.readyState == 4) {
if(jsRequest.status == 200) {
alert(jsRequest.responseText);
} else {
var message = jsRequest.getResponseHeader("Status");
if(message.length = null || message.length <= 0) {
alert("Ошибка " + jsRequest.status);
} else {
alert(message);
}
}
}
}
jsRequest.send(data);
}
}
} else {
alert("Ошибка создания AJAX-запроса.");
}
}
}


Код HTML:
CODE:

<script type="text/javascript">
var lib = new SEJSLib();
function doAJAX() {
lib.applyAJAXRequest({
rUrl: "http://localhost/AJAX/php-ajax.php",
rMethod: "GET",
rData: "",
rUsersActivity: "true"
});
}
</script>
...
<a href="javascript:doAJAX()">AJAX</a>


Файл php-ajax.php просто выводит случайное число.
 
 Top
Furax
Отправлено: 11 Октября, 2007 - 22:37:08
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




KROt
Для начала попробуй поменять домен на более правдоподобный - Mozilla, к примеру, отказывается включать в страницы из интернета локальные скрипты...
 
 Top
KROt
Отправлено: 12 Октября, 2007 - 05:43:07
Post Id



Java-скриптер


Покинул форум
Сообщений всего: 72
Дата рег-ции: Авг. 2006  

Карма 0




Поменял http://localhost/AJAX/php-ajax.php на http://tvoyweb.ru/ip_checker.js?p , результат такой же... По идее должно работать везде одинаково, в IE же работает, да и тем более сам скрипт я сделал с поддержкой всех возможных объектов XMLHttpRequest... Хм Такое ощущение, что скрипт блокируется какой-то системой защиты браузеров Огорчение
P.S: сам файл с AJAX-скриптом у меня на компе, а не в интернете... Может быть из-за этого не работает? Не понял

(Отредактировано автором: 12 Октября, 2007 - 05:46:50)

 
 Top
KROt
Отправлено: 12 Октября, 2007 - 06:13:46
Post Id



Java-скриптер


Покинул форум
Сообщений всего: 72
Дата рег-ции: Авг. 2006  

Карма 0




Закачал файл на свой сайт - http://www.sjstechnologies.narod...u/seilibtest.htm
Opera проснулась, стала выводить ошибку - "message: Security violation"
Но и IE теперь тоже проснулся - "Отказано в доступе." на строке
CODE:
jsRequest.open(method,url,usersActivity);

Все переменные, передающиеся запросу, в порядке... Это прям заговор какой-то Хм
 
 Top
Furax
Отправлено: 12 Октября, 2007 - 08:44:30
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




KROt
Дык я о чём и говорю! Для начала загрузи всё на один домен. Порой даже вариации с www и без играют роковую роль!
 
 Top
KROt
Отправлено: 12 Октября, 2007 - 11:31:57
Post Id



Java-скриптер


Покинул форум
Сообщений всего: 72
Дата рег-ции: Авг. 2006  

Карма 0




Furax, спасибо, попробую сделать как ты сказал!
 
 Top
KROt
Отправлено: 12 Октября, 2007 - 13:31:05
Post Id



Java-скриптер


Покинул форум
Сообщений всего: 72
Дата рег-ции: Авг. 2006  

Карма 0




Ура! Я закачал всё на нормальный хост с поддержкой пхп и всё заработало, причём заработало во всех браузерах! Ха-ха Furax, спасибо тебе ещё раз за дельный совет! Хорошо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« JavaScript »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0372]     [ Gzipped ]