سلام.
امروزه دیگه خیلی از وبسایت های تحت الگوی ajax داده ها رو ردوبدل میکنن.
و html یک الگوی جدید رویدادگراء(event-driven) در نسخه جدید پیاده سازی کرده.
یعنی چی خُب، میشه قشنگ حرف بزنی؟
یعنی اینکه شما یک فایل server-side یا همون مثلا php,asp مینویسی، سپس از یک پیچ استاتیک یا ایستا، با استفاده از sse، به صورت مداوم آپدیت*های اون صفحه رو همانند مراجعه حضوری مشاهده کنید.
نمونه کد js:
اما محتویات فایل demo_sse.php باید چی باشه؟:
اما شکا چه محتویاتی رو میتونید تغییر بدید؟
فقط کدهای قسمت 2رو میتونید تغییر بدید! و هروقت هم مخواستید پاسخی رو به sse بفرسید، باید اول رشته چاپی data: قرار داشته باشه.
ترجمه شده از
امروزه دیگه خیلی از وبسایت های تحت الگوی ajax داده ها رو ردوبدل میکنن.
و html یک الگوی جدید رویدادگراء(event-driven) در نسخه جدید پیاده سازی کرده.
یعنی چی خُب، میشه قشنگ حرف بزنی؟
یعنی اینکه شما یک فایل server-side یا همون مثلا php,asp مینویسی، سپس از یک پیچ استاتیک یا ایستا، با استفاده از sse، به صورت مداوم آپدیت*های اون صفحه رو همانند مراجعه حضوری مشاهده کنید.
نمونه کد js:
کد:
<!DOCTYPE html>
<html>
<body>
<h1>Getting server updates</h1>
<div id="result"></div>
<script>
if(typeof(EventSource)!=="undefined")
{
var source=new EventSource("demo_sse.php");
source.onmessage=function(event)
{
document.getElementById("result").innerHTML+=event.data + "<br>";
};
}
else
{
document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events...";
}
</script>
</body>
</html>
کد:
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>
فقط کدهای قسمت 2رو میتونید تغییر بدید! و هروقت هم مخواستید پاسخی رو به sse بفرسید، باید اول رشته چاپی data: قرار داشته باشه.
ترجمه شده از
لینک ها تنها برای اعضای سایت قابل نمایش است.
لینک ها تنها برای اعضای سایت قابل نمایش است.