Привет, ребята, новички в этом сайте, но большой поклонник.
Правильно проблема. Нам стало известно, что иногда в Internet Explorer переменная post не указывается.
Это наша основная функция ajax
function GetXmlHttpObject(handler){
var objXmlHttp=null
if (navigator.userAgent.indexOf("Opera")>=0){
xmlHttp=new XMLHttpRequest();
xmlHttp.onload=handler
xmlHttp.onerror=handler
return xmlHttp;
}
if (navigator.userAgent.indexOf("MSIE")>=0){
var strName="Msxml2.XMLHTTP"
if (navigator.appVersion.indexOf("MSIE 5.5")>=0){
strName="Microsoft.XMLHTTP"
} try {
objXmlHttp=new ActiveXObject(strName)
if(handler == null) {
handler = function() {}
}
objXmlHttp.onreadystatechange=handler
return objXmlHttp
} catch(e) {
return
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0){
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
}
и вот вызов, который его использует
params = "object_type="+object_type+"&object_id="+object_id;
xmlHttp_comment_notifyreset = GetXmlHttpObject(notification_reset_helper);//fails on safari 1
xmlHttp_comment_notifyreset.open("POST", url , true);
xmlHttp_comment_notifyreset.setRequestHeader("Content-Type", "application/x-www-form-URLencoded");
xmlHttp_comment_notifyreset.setRequestHeader("Content-Length", params.length);
xmlHttp_comment_notifyreset.setRequestHeader("Connection", "close");
xmlHttp_comment_notifyreset.send(params);
В принципе, object_type, object_id не отправляются, несмотря на то, что они там.
Как я уже сказал, похоже, это просто проблема IE7 / 8, которая иногда возникает.
Я думал, что это может быть проблема с кэшированием. Но мы делаем один файл function.js, но каждый раз, когда мы вносим изменения, мы меняем последнюю измененную временную метку и используем htaccess для получения нового файла, который, кажется, работает. Так как IE и т. Д. Воспринимает файл как новый в его кеше.
P.S. Мы не можем использовать JQuery или любые другие фреймворки, так как они слишком велики для загрузки нашими участниками.
Спасибо за вашу помощь.
Ричард