ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingสอบถาม ajax เรื่องการ refresh ด้วยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: สอบถาม ajax เรื่องการ refresh ด้วยครับ  (อ่าน 1095 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
tcool
ก๊วนเสียว
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 278



ดูรายละเอียด
« เมื่อ: 21 กุมภาพันธ์ 2016, 18:40:01 »

สวัสดีครับ

พยายามหาข้อมูลแล้วไม่ได้จริงๆ รบกวนสมาชิกช่วยเหลือด้วยครับ

Code

<script type="text/javascript">
$(function(){
   setInterval(function(){
      var getData=$.ajax({
         type:"POST",
         url:"jquery_room.php",
         //data:"rev=1",
         async:false,
         success:function(getData){
            $("span#showjquery_room").html(getData);
         }
      }).responseText;
   },5000); //1 วินาทีเท่ากับ 1000
});
</script>
<span id="showjquery_room"></span>

ปกติแล้ว Code นี้เมื่อเปิดเว็บมาจะต้องรอ 5 วิมันถึงจะขึ้นข้อมูลแล้วก็ refresh ทุกๆ 5 วิ
แต่ถ้าผมจะให้เปิดมาแล้วเจอข้อมูลเลย แล้วรอไปทุกๆ 5 วิให้มัน refresh มันจะต้องไปแก้ไขตรงไหนบ้างครับ

ขอบคุณทุกๆ ท่านมากครับผม
บันทึกการเข้า
ninebearkung
ก๊วนเสียว
*

พลังน้ำใจ: 139
ออฟไลน์ ออฟไลน์

กระทู้: 465



ดูรายละเอียด
« ตอบ #1 เมื่อ: 21 กุมภาพันธ์ 2016, 18:57:30 »

ถ้าเป็นผมนะครับ จะตั้ง 5000 ให้เป็น n

ตอนแรกกำหนดค่า n=0

พอจบการทำงานครั้งแรก ให้ n = 5000

คิดว่าน่าจะเป็นแนวทางในการแก้ปัญหาได้นะครับ

บันทึกการเข้า
O.o!!
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 237
ออฟไลน์ ออฟไลน์

กระทู้: 1,432



ดูรายละเอียด
« ตอบ #2 เมื่อ: 21 กุมภาพันธ์ 2016, 19:04:04 »

ตอนแรกลองแบบคุณ ninebearkung บอก  ไม่รู้เพราะไรมันเปลี่ยนค่า n ไม่ได้  ขี้เกียจหา    Tongue

ผมเลยลองแบบนี้แทน  https://jsfiddle.net/3L3uygw1/
บันทึกการเข้า
tcool
ก๊วนเสียว
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 278



ดูรายละเอียด
« ตอบ #3 เมื่อ: 21 กุมภาพันธ์ 2016, 19:06:16 »

ขอบคุณทุกๆ ท่านมากนะครับ

เดียวผมขอลองก่อนนะครับ

แต่ไปเจอมาอีกวิธี

$(document).ready(function() {
   $("span#showjquery_room").load("jquery_room.php?page=<?= $_GET['page'] ?>");
   var refreshId = setInterval(function() {
      $("span#showjquery_room").load("jquery_room.php?" + 1*new Date());
   }, 30000); //1 วินาทีเท่ากับ 1000
});
</script>
<span id="showjquery_room"></span>

ไม่รู้ว่ามันจะ work ไหมนะครับ
บันทึกการเข้า
p44n
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 105
ออฟไลน์ ออฟไลน์

กระทู้: 676



ดูรายละเอียด
« ตอบ #4 เมื่อ: 21 กุมภาพันธ์ 2016, 19:59:48 »

อย่าคิดเยอะครับ

1. สร้าง function getData() เพื่อดึงข้อมูล
2. รัน getData() เมื่อเปิด page
3. ตั้งเวลา getData() ทุกๆ 5 วิ

<script type="text/javascript">
function getData(){
    $.ajax({
         type:"post",
         url:"jquery_room.php",
         success:function(result){
            $("span#showjquery_room").html(result);
         }
      });
}
$(function(){
   getData(); // รันทันที่เมื่อเปิดpage
   setInterval(function(){
      getData();// รันทุก5 วิ
   },5000);
});
</script>
<span id="showjquery_room"></span>
« แก้ไขครั้งสุดท้าย: 21 กุมภาพันธ์ 2016, 20:00:07 โดย p44n » บันทึกการเข้า

Python, PHP OOP, MVC CodeIgniter, MongoDB, MySQL, MsSQL ,CSS Tableless, Responsive Design, Cross-platform, Javascript, jQuery, AngularJS, NodeJS,  Fackbook API, Paypal API, Omise API, Google Map API, C# Window Applications, .NET Framework, JAVA (Android Developer, JSP), Hybrid Application with Cordova + Ionic Framework, ReactJS, React Native
search_ie
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 73
ออฟไลน์ ออฟไลน์

กระทู้: 1,556



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 22 กุมภาพันธ์ 2016, 06:07:21 »

เข้ามาฟังด้วยครับ  wanwan017
บันทึกการเข้า

tcool
ก๊วนเสียว
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 278



ดูรายละเอียด
« ตอบ #6 เมื่อ: 22 กุมภาพันธ์ 2016, 21:50:40 »

ขอบคุณทุกท่านมากๆ เลยครับทำได้แล้วครับ
บันทึกการเข้า
siammbk
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 237



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 28 กุมภาพันธ์ 2016, 19:00:05 »

แบบนี้เลยคับ

ตอนที่เปิดหน้า page ขึ้นมาก็ให้มัน query ข้อมูลมาแสดงแบบปรกติก่อน

หลังจากนั้นก็จะเป็นงาน ajax ในการเรียกแล้วเทลงไปทุกๆ 5 นาที

เท่านี้ก็ได้แล้วคับ
บันทึกการเข้า

รับออกแบบเว็บไซต์ ทุกรูปแบบ งานใหญ่ๆ ระบบยากๆ ราคาแรงๆ คุยกันคับ
line : siammbk
tel : 095-675-8614
หน้า: [1]   ขึ้นบน
พิมพ์