Jump to content
php.lv forumi

ajax relod, refresh


test2

Recommended Posts

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 :)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 by IM24LV
Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 5 months later...

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.

Link to comment
Share on other sites

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:

 

20080605144235327.JPG

 

 

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

Link to comment
Share on other sites

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 by FnTm
Link to comment
Share on other sites

×
×
  • Create New...