AJAX отправка запроса
xmlHttp.Open("GET", "scriptname.php"+param, true);
В Explorer всё работает, а Опера(8) выдаёт
Невозможно соединится с сервером:
[Error:
name: TypeError
message: Statement on line 68: Type mismatch (usually a non-object value used where an object is required)
Backtrace:
Line 68 of linked script http:xmlhttp.js
xmlHttp.Open("GET", "scriptname.php" + param, true);
Line 1 of script
process(0, "tour");
At unknown location
[statement source code not available]
]
AJAX поддерживается только начиная с версии 8.5
Посмотрел у меня 8.54
Ты должен по разному создавать этот объект в IE и Opera.
Живут же люди и не чего не знают про prototype (
[HTML]
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject() {
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();
}
catch(e){
var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
'MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0',
'MSXML2.XMLHTTP',
'Microsoft.XMLHTTP');
for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++){
try{
xmlHttp = new ActiveXObject(XmlHttpVersions);
}
catch(e) {}
}
}
if (!xmlHttp) alert('Ошибка создания объекта XMLHttpRequest');
else {
return xmlHttp;
}
[/HTML]
Опера не выдаёт ошибки, значит объект создаётся, а запрос не проходит
попробовал
[HTML]
var myAjax = new Ajax.Request("tour.php", {method: 'get', parameters: param, onComplete: showResponse});
[/HTML]
Опера выдаёт
Невозможно соединится с сервером:
[Error:
name: ReferenceError
message: Statement on line 79: Reference to undefined variable: Ajax
Backtrace:
Line 79 of linked script http://localhost/supergis/lib2/xmlhttp.js
var myAjax = new Ajax.Request("script.php", {method : "get", parameters : param, onComplete : showResponse});
Line 1 of script
process(0, "script.php");
At unknown location
[statement source code not available]
]
просто вместо
[HTML]xmlHttp.Open[/HTML]
нужно
[HTML]xmlHttp.open[/HTML]
Пока !