function getXMLHTTPRequest() { if (window.XMLHttpRequest) { // For normal browsers locations_http_request = new XMLHttpRequest(); if (locations_http_request.overrideMimeType) locations_http_request.overrideMimeType('text/xml'); } else if (window.ActiveXObject) { // For IE try { locations_http_request = new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) { try { locations_http_request = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) {} } } if (!locations_http_request) { return false; } return locations_http_request; } var HTTPload=new getXMLHTTPRequest(); var rezultAjax; function obrabLoad() // общая ф-ция обработки инициализации ответа сервера { //alert (HTTPload.readyState); if (HTTPload.readyState == 4) { if (HTTPload.status == 200) { //obj_status.setStatus(0,"Соединение завершено"); //obj_status.print(); rezultAjax=HTTPload.responseText;//XML; return (1); } else { //obj_status.setStatus(0,"Загрузка окончена. Ошибка "+HTTPload.status); //obj_status.print(); alert ("Произошла ошибка "+HTTPload.status); //удалить следующую строку rezultAjax=HTTPload.responseText;//XML; //удалить следующую строку alert (rezultAjax); return (2); } } else { //идет соединение с сервером //obj_status.setStatus(1,"Идет соединение с сервером"); //obj_status.print(); return (false); } } function loadHTTP(urlRes,operFunct,saveTextPost) //общая функция для соединения с сервером { //if (operLoad) return; //operLoad=true; var onSaveText=false; if (saveTextPost) { onSaveText=true; //saveTextPost=encodeURIComponent(saveTextPost); //saveTextPost=encodeURI(saveTextPost); } //obj_print.innerHTML=text; //kol_rows_sel=row;nom_page=pageSet; //urlRes=encodeURIComponent(urlRes); //urlRes=encodeURI(urlRes); //alert (urlRes); HTTPload.open("post",urlRes,true); HTTPload.onreadystatechange=operFunct; if (onSaveText) { //HTTPload.setRequestHeader("Content-Type","charset=windows-1251"); HTTPload.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //alert (HTTPload.getResponseHeader("Content-Type")); HTTPload.send(saveTextPost); } else { //HTTPload.setRequestHeader("Content-Type","text/html; charset=utf-8"); //alert (HTTPload.getResponseHeader("Content-Type")); HTTPload.send(null); } } /* function hablon() //шаблон обработки запроса { rezOb=obrabLoad(); if (!rezOb) return; if (rezOb == 2) { //"Ошибка с загрузкой"; //operLoad=false; return; } text_join=rezultAjax;//здесь результат } */ var rezult_join= new Array(); var go_function_ajax = false; var processing_code_error_ajax_answer=false; function loadHTTPjoin(urlRes,operFunct,saveTextPost,processing_code_error_ajax_answer) //общая функция для соединения с сервером { initLoadHTTPjoin(urlRes,operFunct,saveTextPost,processing_code_error_ajax_answer); /* //if (operLoad) return; //operLoad=true; var onSaveText=false; if (saveTextPost) { onSaveText=true; //saveTextPost=encodeURIComponent(saveTextPost); //saveTextPost=encodeURI(saveTextPost); } //obj_print.innerHTML=text; //kol_rows_sel=row;nom_page=pageSet; //urlRes=encodeURIComponent(urlRes); //urlRes=encodeURI(urlRes); //alert (urlRes); go_function_ajax = operFunct; HTTPload.open("post",urlRes,true); HTTPload.onreadystatechange=obr_query_ajax_join; if (onSaveText) { //HTTPload.setRequestHeader("Content-Type","charset=windows-1251"); HTTPload.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //alert (HTTPload.getResponseHeader("Content-Type")); HTTPload.send(saveTextPost); } else { //HTTPload.setRequestHeader("Content-Type","text/html; charset=utf-8"); //alert (HTTPload.getResponseHeader("Content-Type")); HTTPload.send(null); } */ } function loadHTTPjc(urlRes,operFunct,saveTextPost) { //processing_code_error_ajax_answer=true; //loadHTTPjoin(urlRes,operFunct,saveTextPost); initLoadHTTPjoin(urlRes,operFunct,saveTextPost,true); } /* function obr_query_ajax_join() { rezOb=obrabLoad(); if (!rezOb) return; if (rezOb == 2) { //"Ошибка с загрузкой"; //operLoad=false; return; } //var text_join=rezultAjax;//здесь результат var error=false; var answer_join = {}; try { answer_join = eval ( "(" + rezultAjax + ")" ); if ( processing_code_error_ajax_answer ) { if ( answer_join.error.code ) { alert(answer_join.error.text); return; } } } catch (e) { error = true; } if ( !error ) { go_function_ajax(answer_join); } else { if ( confirm("Неверный ответ сервера! Показать ответ?") ) { alert( rezultAjax ); } } } */ function initLoadHTTPjoin(urlRes,operFunct,saveTextPost,processing_code_error_ajax_answer) //общая функция для соединения с сервером { //if (operLoad) return; //operLoad=true; var go_function_ajax = operFunct; if ( typeof( saveTextPost ) == "undefined" ) saveTextPost = false; if ( typeof( processing_code_error_ajax_answer ) == "undefined") processing_code_error_ajax_answer = false; var HTTPload = new getXMLHTTPRequest(); connection(); function connection() { var onSaveText=false; if (saveTextPost) { onSaveText=true; } //go_function_ajax = operFunct; HTTPload.open("post",urlRes,true); HTTPload.onreadystatechange=obConnection;//obr_query_ajax_join; if (onSaveText) { //HTTPload.setRequestHeader("Content-Type","charset=windows-1251"); HTTPload.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //alert (HTTPload.getResponseHeader("Content-Type")); HTTPload.send(saveTextPost); } else { //HTTPload.setRequestHeader("Content-Type","text/html; charset=utf-8"); //alert (HTTPload.getResponseHeader("Content-Type")); HTTPload.send(null); } } function obConnection() { //alert (HTTPload.readyState); if (HTTPload.readyState == 4) { if (HTTPload.status == 200) { //obj_status.setStatus(0,"Соединение завершено"); //obj_status.print(); rezultAjax=HTTPload.responseText;//XML; } else { //obj_status.setStatus(0,"Загрузка окончена. Ошибка "+HTTPload.status); //obj_status.print(); alert ("Произошла ошибка "+HTTPload.status); //удалить следующую строку rezultAjax=HTTPload.responseText;//XML; //удалить следующую строку alert (rezultAjax); return; } } else { //идет соединение с сервером //obj_status.setStatus(1,"Идет соединение с сервером"); //obj_status.print(); return; } var error=false; var answer_join = {}; try { answer_join = eval ( "(" + rezultAjax + ")" ); if ( processing_code_error_ajax_answer ) { if ( answer_join.error.code ) { alert(answer_join.error.text); return; } } } catch (e) { error = true; } if ( !error ) { go_function_ajax(answer_join); } else { if ( confirm("Неверный ответ сервера! Показать ответ?") ) { alert( rezultAjax ); } } } }