test2 Posted February 14, 2008 Report Posted February 14, 2008 Tātad situācija šāda: stāv php lapa index.php iekš kuras ir includots fails chat.php, ko man norādīt iekš chat, kādu ajax skriptu, lai viņš reloadotu tieši chat.php nevis visu index.php ik pēc kādam 20 sek ,piemēram? Googlē meklēju apmr 1h ,pavisam nopietni, neko sev vajadzīgu neatradu, tākā lūdzu padodiet kādu gatavu kodu vai ko tādu, jo orjetējos iekš ajax diezgan vāji... Būtu labi ja vel būtu kkāds spinner.gif kurš tad kad pārlādē izlec, iedvesmojos no dažām lapām :)
foxsk8 Posted February 14, 2008 Report Posted February 14, 2008 Man tas pats. Meklēju ko pa tiešām labu, nekā. Pats izmantoju pagaidām Prototype JS. http://www.notepad.lv/viewtopic.php?t=1363 Iesācēju tuts.
test2 Posted February 14, 2008 Author Report Posted February 14, 2008 varētu iedod tieši kodu kā tu dari, man nesanāk
IM24LV Posted February 14, 2008 Report Posted February 14, 2008 (edited) Nekas sarežgīts :) ieksh lapas ieinkliido javascriptu kas buus zemaak, un divs kursh refreshosies: <div id="shoutarea"> </div> un javascripts, ties apilns, der arii POST funkcijai bez refresh: function ajaxFunction(){ var ajaxRequest; try{ // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // Internet Explorer Browsers try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ //browsers all not support, rare case alert("Your browser broke!"); return false; } } } return ajaxRequest; } function showData() { htmlRequest = ajaxFunction(); if (htmlRequest==null){ // If it cannot create a new Xmlhttp object. alert ("Browser does not support HTTP Request"); return; } htmlRequest.onreadystatechange = function(){ if(htmlRequest.readyState == 4){ document.getElementById("shoutarea").innerHTML = htmlRequest.responseText; } } htmlRequest.open("GET", "getrefresh.php", true); htmlRequest.send(null); } showData(); setInterval("showData()",4000); function saveData(){ htmlRequest = ajaxFunction(); if (htmlRequest==null){ // If it cannot create a new Xmlhttp object. alert ("Browser does not support HTTP Request"); return; } if(document.shoutbox.shouter_comment.value == "" || document.shoutbox.shouter_comment.value == "NULL"){ alert('Ieraksti tekstu!'); return; } htmlRequest.open('POST', '/add.php'); htmlRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); htmlRequest.send('message='+document.shoutbox.shouter_comment.value); document.shoutbox.shouter_comment.value = ''; // Updates the shout box’s text area to NULL. document.shoutbox.shouter_comment.focus(); // Focuses the text area. } P.S. labāk taisīt pamācības par lietām, ko tiešām labi zini :D Edited February 14, 2008 by IM24LV
test2 Posted February 14, 2008 Author Report Posted February 14, 2008 eu labs, tikkai varētu palūgt to spinner arī pievienot? kā ārī izņemt lieko , kas domāts priekš $POST ?
mefisto Posted February 14, 2008 Report Posted February 14, 2008 htmlRequest.onreadystatechange = function(){ if(htmlRequest.readyState == 4){ document.getElementById("shoutarea").innerHTML = htmlRequest.responseText; } } Šo vietu redzi ? Kā tev šķiet, kas tur notiktu uz 'else' ? btw, vispār jau vajadzēja būt šitā : if(htmlRequest.readyState == 4){ if (htmlRequest.status == 200) { document.getElementById("shoutarea").innerHTML = htmlRequest.responseText; } } ... kaut kā šitā ( no http://www.quirksmode.org/blog/archives/20..._notes_r_2.html ) (xmlhttp.status==404) // file not found (xmlhttp.status==200) // file found and loaded (xmlhttp.status==304) // file found, but determined unchanged and loaded from cache
IM24LV Posted February 14, 2008 Report Posted February 14, 2008 Es īšti neiebraucu mefisto kur tiesi kļūme, jo viss strādā :( test2 - paņem šito pamacību izlasi, no turienes laikam ņēmu arī skriptu :D http://boonage.pjss2.net/2007/02/12/ajaxph...utbox-tutorial/
Paulinjsh Posted February 18, 2008 Report Posted February 18, 2008 kļūdas var rasties, ja xmlhttp.status nebūs 200. Tāpēc jāpārbauda!
FnTm Posted August 15, 2008 Report Posted August 15, 2008 Neliela problēmiņa ar šito... document.getElementById("shoutarea") has no properties Ko šams nozīmē, un kā to labot?
andrisp Posted August 15, 2008 Report Posted August 15, 2008 Tas nozīmē, ka tāds elements ar tādu ID nav atrasts. Varbūt tu to JS mēģini izpildīt pirms paša elementa ? Tb dokumenta struktūrā šis JS parādās ātrāk nekā pats elements ? Ja jā, tad ieliec to (JS) iekš window.onload = function() { .. te .. }, vai arī, ja izmanto kādu JS framework, tad izmanto tā piedāvāto onload sintaksi.
Aleksejs Posted August 15, 2008 Report Posted August 15, 2008 Sveiks! Bet vai Tev ir kāds elements ar šādu ID nodefinēts? ;)
foxsk8 Posted August 15, 2008 Report Posted August 15, 2008 Tātad šoreiz apskatīsim ajax iespējas ar Mootools. Šo tutu varam izmantot, lai atjaunotu informāciju noteiktā laika intervālā (Periodical). Attēls: Lejupielādēt piemēru Piemēram pilnībā jāatrodās uz web servera, savādāk var rasties problēmas koda izpildīšanā. Tutorial by notepad.lv
FnTm Posted August 19, 2008 Report Posted August 19, 2008 (edited) Man pašlaik notiek tāda fīča: Ir fails, kurā atrodas JS un visa Header informācija. Tas tiek inklūdots lapas sākumā, un vēlāk atrodas velviens inklūds, kurā atrodas nepieciešamais DIV's. Tātad man šis JS, ir jāliek lapas apakšā, tb pēc 2. inklūdotā faila? P.S izmantoju augstāk doto funkciju. P.P.S šāds errors parādās tikai iekš IE Edited August 19, 2008 by FnTm
Recommended Posts