NabiKAZ
Well-Known Member
فکر میکنم برنامه زیر ساده ترین شکل ممکن برای نشون دادن طرز کار تکنولوژی آژاکس است. که امیدوارم دوستان استفاده کنند.
سوال من اینه که چرا فقط مرتبه اول کد صحیح کار میکند و بار دوم زمانی که کلیک صورت میگیرد اتفاقی نمی افتند، یه به عبارت دیگر فکر میکنم به دلیل موجود بودن خروجی در cache ، دفعات بعدی همان خروجی اولیه ظاهر میشه. چطور میشه خروجی در هر بار کلیک صورت گرفته نتیجه صحیحی رو برگردونه.
در واقع در این مثال تنها مرتبه اول ساعت صحیح نمایش داده میشه و دفعات بعد به نظر هیچ اتفاقی نمی افتند (شاید به همان دلیل cache باشد)
لطفا راهنمایی کنید.
باتشکر
نبی
سوال من اینه که چرا فقط مرتبه اول کد صحیح کار میکند و بار دوم زمانی که کلیک صورت میگیرد اتفاقی نمی افتند، یه به عبارت دیگر فکر میکنم به دلیل موجود بودن خروجی در cache ، دفعات بعدی همان خروجی اولیه ظاهر میشه. چطور میشه خروجی در هر بار کلیک صورت گرفته نتیجه صحیحی رو برگردونه.
در واقع در این مثال تنها مرتبه اول ساعت صحیح نمایش داده میشه و دفعات بعد به نظر هیچ اتفاقی نمی افتند (شاید به همان دلیل cache باشد)
PHP:
<?php
if(isset($_GET['subreq'])) {
echo date('l dS \of F Y h:i:s A');
exit(0);
}
?>
<script>
function ajax_do( thisurl , thisid){
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try { xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); }
catch (E)
{ xmlhttp = false; }
}
@end @*/
if(!xmlhttp) { xmlhttp=new XMLHttpRequest(); }
xmlhttp.open('GET','index.php?subreq='+thisurl, true);
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState==4) { document.getElementById(thisid).innerHTML = xmlhttp.responseText; }
}
xmlhttp.send(null);
}
</script>
<img src=/icons/a.png onClick="javascript:ajax_do( '<?=$_SERVER['PHP_SELF']?>' , 'output_div');">
<div id='output_div'>click image above to put date here</div>
لطفا راهنمایی کنید.
باتشکر
نبی