2009-07-20 38 views

Trả lời

1

Có một hướng dẫn tốt như thế nào đối tượng XMLHttpRequest hoạt động trên tại http://www.jibbering.com/2002/4/httprequest.html

Bạn chỉ cần sử dụng, với bất cứ điều kiện bạn muốn kích hoạt làm mới của bạn trên, và một tập lệnh PHP sẽ chỉ xuất dữ liệu mà bạn quan tâm.

37

PHP không thể thực hiện việc này, chỉ ngôn ngữ phía máy khách như JavaScript mới có thể. Điều đó đang được nói, số jQuery library sẽ cho phép bạn thực hiện điều này thật dễ dàng với số AJAX functionality.

index.php

<div id="scores"><!-- score data here --></div> 

thể được làm mới với JavaScript sau:

$("#scores").load("index.php #scores"); 

Đó sẽ tải các nội dung của #score từ chỉ số một lần nữa mà không làm mới toàn bộ trang.

Bạn thậm chí có thể tự động hóa để làm mới sau mỗi 30 giây sử dụng setInterval();

var $scores = $("#scores"); 
setInterval(function() { 
    $scores.load("index.php #scores"); 
}, 30000); 

Bạn có thể đọc thêm về $.load() tại http://api.jquery.com/load/#loading-page-fragments.

+0

'$ (" # score "). Load (" index.php ");' sẽ hoạt động tốt, tại đây "** index.php **" là tệp php mà bạn muốn tải lại. – Pran

+0

Vấn đề của phương pháp này là nếu bạn sử dụng bộ chọn, các tập lệnh sẽ không thực thi. – Jichao

+0

Hi sampson, tôi muốn biết nếu tôi có thể sử dụng một "lớp" để chạy chức năng này tải –

1

cách nhanh nhất là sử dụng chức năng jquery tải

giả những nội dung bạn muốn thay đổi là bên trong một div

sau đó bạn có thể chỉ đơn giản là:

<script type="text/javascript" src="jquery-1.3.2.min.js"></script> 

<script type="text/javascript"> 

$().ready(function() { 
$("#dynamic").load("http://url/to/the/dynamic/data"); 
}); 

</script> 
3

Dưới đây là một ví dụ cơ bản sử dụng PrototypeJS.

new Ajax.Updater('containerId', '/url/to/get/content', { 
    parameters: { somename: 'somevalue' } 
}); 
  • Đối số đầu tiên là ID của các container để đưa kết quả của các cuộc gọi Ajax trong.
  • Đối số thứ hai là URL để gửi yêu cầu đến
  • Đối số thứ ba, trong hình thức cơ bản nhất của nó, là danh sách các tham số để gửi tới URL.

Để biết thêm chi tiết về yêu cầu Ajax thử nghiệm, hãy xem tài liệu Ajax.Request.

Lấy trang từ Jonathan's câu trả lời jQuery đẹp, dưới đây là cách bạn thực hiện yêu cầu Ajax trên bộ hẹn giờ bằng cách sử dụng số PeriodicalExecuter của nguyên mẫu.

new PeriodicalExecuter(function(pe) { 
    new Ajax.Updater('containerId', '/url/to/get/content', { 
     parameters: { somename: 'somevalue' } 
    }); 
}, 30); 
Các vấn đề liên quan