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

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

Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: проблема с AJAX
ТвойWeb » WebMaster класс » JavaScript » проблема с AJAX

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

1. KROt - 11 Октября, 2007 - 14:02:02 - перейти к сообщению
Всем привет! Давно я тут не был... Решил сделать свой собственный фреймворк с поддержкой 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 просто выводит случайное число.
2. Furax - 11 Октября, 2007 - 22:37:08 - перейти к сообщению
KROt
Для начала попробуй поменять домен на более правдоподобный - Mozilla, к примеру, отказывается включать в страницы из интернета локальные скрипты...
3. KROt - 12 Октября, 2007 - 05:43:07 - перейти к сообщению
Поменял http://localhost/AJAX/php-ajax.php на http://tvoyweb.ru/ip_checker.js?p , результат такой же... По идее должно работать везде одинаково, в IE же работает, да и тем более сам скрипт я сделал с поддержкой всех возможных объектов XMLHttpRequest... Хм Такое ощущение, что скрипт блокируется какой-то системой защиты браузеров Огорчение
P.S: сам файл с AJAX-скриптом у меня на компе, а не в интернете... Может быть из-за этого не работает? Не понял
4. KROt - 12 Октября, 2007 - 06:13:46 - перейти к сообщению
Закачал файл на свой сайт - http://www.sjstechnologies.narod...u/seilibtest.htm
Opera проснулась, стала выводить ошибку - "message: Security violation"
Но и IE теперь тоже проснулся - "Отказано в доступе." на строке
CODE:
jsRequest.open(method,url,usersActivity);

Все переменные, передающиеся запросу, в порядке... Это прям заговор какой-то Хм
5. Furax - 12 Октября, 2007 - 08:44:30 - перейти к сообщению
KROt
Дык я о чём и говорю! Для начала загрузи всё на один домен. Порой даже вариации с www и без играют роковую роль!
6. KROt - 12 Октября, 2007 - 11:31:57 - перейти к сообщению
Furax, спасибо, попробую сделать как ты сказал!
7. KROt - 12 Октября, 2007 - 13:31:05 - перейти к сообщению
Ура! Я закачал всё на нормальный хост с поддержкой пхп и всё заработало, причём заработало во всех браузерах! Ха-ха Furax, спасибо тебе ещё раз за дельный совет! Хорошо

Форум на AlfaSpace.NET


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

[Script Execution time: 0.0373]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33