xmlhttp

 
0
 
JavaScript
ava
alligator | 26.10.2011, 23:21
Здравствуйте, тестирую работу с xmlhttp всё сделал, работает корректно, единственное что мне не нравится как выглядит код:

function show_book(str){
if (str.length==0)
{
document.getElementById("data").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
document.getElementById("data").innerHTML=xmlhttp.responseText;

}
else
{
alert('Ошибка подключения сервера');}
}
else
{
document.getElementById("data").innerHTML='Загрузка результата...<img src="images/load.gif" />';}
}
xmlhttp.open("GET","ldap.php?user="+str,true); xmlhttp.send();
}

function save(mnum,lnum,name,dn){
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
document.getElementById("report").innerHTML=xmlhttp.responseText;

}
else
{
alert('Ошибка подключения сервера');}
}
else
{
document.getElementById("report").innerHTML='Загрузка результата...1<img src="images/load.gif" />';}
}
if(mnum.length<=1){ var mnum="не указано";} if(lnum.length<=2){ var lnum="не указано";}
xmlhttp.open("GET","save.php?mobile="+mnum+"&localnum="+lnum+"&name="+name+"&ur="+dn,true);
xmlhttp.send();
}


Таких функций будет еще несколько и плодить их тупо как-то не правильно..... как можно сделать это нормально без нагромождения?
Kommentare (4)
ava
baldina | 26.10.2011, 23:44 #

function getXMLHttp ()
{
if (window.XMLHttpRequest)
return new XMLHttpRequest();
else
return new ActiveXObject("Microsoft.XMLHTTP");
}
...
xmlhttp = getXMLHttp ();

или использовать какую-нить библиотеку. например jQuery:

function show_book(str) {
if (str.length==0) {
$("#data").val ("");
}
else {
$("#data").val ('Загрузка результата...<img src="images/load.gif" />');
$.ajax({
url: "ldap.php?user="+str,
success: function(data){
$("#data").val (data);
}
error: function(msg){
alert (msg);
}
});
}
}

ava
alligator | 28.10.2011, 01:16 #
Вот Спасибо.... одну сделал

<script type="text/javascript">
$(document).ready(function() {
$("#data").html('Загрузка результата...<img src="images/load.gif" />');
$.ajax({
url: "ldap.php?user=иван",
cache: false,
success: function(data){
$("#data").html(data);
}
});
});
</script>


Не пойму только как сделать обработчик onkeyup
также не понял как сделать обработчик как тут:

xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
document.getElementById("report").innerHTML=xmlhttp.responseText;

}
else
{
alert('Ошибка подключения сервера');}
}
ava
baldina | 28.10.2011, 17:10 #

$.ajax({
url: "ldap.php?user="+str,
success: function(data){
$("#data").val (data);
}
error: function(/*the 'msg' parameter is not used now*/){
alert ('Ошибка подключения сервера');
}
});


später ergänzt:
какое отношение keyup к ajax имеет?

или Вы про это:
http://forum.jquery.com/topic/onkeyup-in-jquery
ava
alligator | 31.10.2011, 20:27 #
именно оно, спасибо!

<script type="text/javascript">
$(document).ready(function() {
$('#ttext').keyup(function() {
string=$("#ttext").val();
if(string.length==0){string="иван";}
$("#data").html('Загрузка результата...<img src="images/load.gif" />');
$.ajax({ url: "ldap.php?user="+string , cache: false, success: function(data){ $("#data").html(data); } });
});
});
</script>
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden