Jump to content
php.lv forumi
  • 0

xmlhttp dalās ?


EdgarsK

Question

Sveiki mani interesē vai XMLhttp var sadalīt pa daļām ?

 

Manā lapā figurē šads kods

  try {xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");}
 catch (e) { /* */ }
 xmlhttp.onreadystatechange = function(){ if((xmlhttp.readyState==4)&&(xmlhttp.status==200)){ getForm("log"+id).innerHTML="<br>"+xmlhttp.responseText; } }
 xmlhttp.open("GET", "?step=console&param="+id+"");
 xmlhttp.send(null);

Viss strādā veiksmīgi, kods tiek lietots 1x sekundē attiecīgi tas visu laiku tiek piepildīts ar sev vajadzīgo informāciju.

 

Pievienoju vēlvienu šādu kodu (kurš strādā uz onclick eventa, adrese ir cita un id kurā informācija ieiet arī ir cita) attiecīgi

  try {xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");}
 catch (e) { /* */ }
 xmlhttp.onreadystatechange = function(){if((xmlhttp.readyState==4)&&(xmlhttp.status==200)){getForm("msgwindow"+id).innerHTML=xmlhttp.responseText; } }
 xmlhttp.open("GET", "?step=role&x="+id+"");
 xmlhttp.send(null);

 

Problēma rodas tur, kad tiek ielādēts 2 kods pēc onclick eventa, ļoti bieži gadās kad viņš ielādē pirmā koda saņemtos datus.

Ko darīt lietas labā ?

 

Vai nav iespējams kautkā šo visu sadalīt?

xmlhttp=newArray;
xmlhttp[0]=window.XMLHttpRequest?new ....

vai kautkā tamlīdzīgi ?

 

(Paldies jau iepriekš)

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Taisi ajax funkciju

 

piem

function ajax(get, func) {
var xmlhttp;
...
xmlhttp.onreadystatechange = function(){if((xmlhttp.readyState==4)&&(xmlhttp.status==200) && typeof func === 'function'){func(xmlhttp.responseText);} };
xmlhttp.open("GET", get);
...
}

 

un tad var izsaukt ar ajax("?step=console&param="+id, function(response) { getForm("log"+id).innerHTML = '<br>'+response; });

Edited by indoom
Link to comment
Share on other sites

  • 0

Tātad atradu manuprāt ideālāko variantu (paldies codez)

 

tātad lietoju jquery

$("#div").load("?page=1");

 

bet tagad ir jautājums.

es ar index.php js starpniecibu ieladeju off.php ar noraditajiem mainigajiem kur pretim sanjemu Js kodu, bet lai kods darbotos man vinju japatod citai funkcijai kura veido js ar createElement lai Js darbotos. Kā no $("#div").load("?page=1"); es varu padot sanjemtos datus kadai citai funkcijai?

 

Lai taptu skaidrāks, lūk ir mana funkcija kura darbojās līdz šim

/* Grimmer */
function Grimmer() {
 try {xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");}
 catch (e) { /* */ }
 xmlhttp.onreadystatechange = function(){ if((xmlhttp.readyState==4)&&(xmlhttp.status==200)){ GrimTimer__phraser(xmlhttp.responseText); } }
 xmlhttp.open("GET", "?auction="+celib);
 xmlhttp.send(null);
 setTimeout("Grimmer()",1000);
}
/* Got source */
function GrimTimer__phraser(inner) {
 if(!getForm("versusScripts")) {
   var d=document.createElement("script");
   d.type="text/javascript";
   d.innerHTML=inner;
   d.id="versusScripts";
   document.body.appendChild(d);
 }else{
   document.body.removeChild(getForm("versusScripts"));
   GrimTimer__phraser(inner);
 }
}

 

Kas man īsti būtu jādara ar $("#div").load(page); lai varētu izmantot šādu GrimTimer__phraser(sanjemtie_dati);?

vai tiešām būtu jātaisa apkārtceļš ?

$("#mydiv").load("?kautkas");

GrimTimer_phraser(getForm("mydiv").innerHTML); ?

Edited by EdgarsA
Link to comment
Share on other sites

  • 0

bet kā tad sanāk

 

$("#div").load("off.php", function(){ alert(); });

tipa nju ielade vaine

bet ka es funkcija lai noradu responseText vai kko tadu ?

un man jau arii nevajag lai ieladetu kada elementa jo ieladetu tekstu es padodu talak funkcijai nevis kkadam elementam

to sakot es domaju kko shadu

$(null).load("off.php",function(){GrimTimer__phraser(responseText);}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...