2012-06-30 34 views
5

Nghe có vẻ lạ, nhưng tôi đã lập trình trò chơi bằng PHP. Vấn đề chính mà tôi đã tìm thấy là cách duy nhất để cập nhật PHP là tải một trang. Điều đó làm cho thời gian thực chậm. Javascript có thể tương tác với một trang mà không cần tải lại. Có thể tải các trang PHP trên một trang bằng cách sử dụng Javascript không? Vì vậy, nó sẽ cho phép PHP được nạp hơn và hơn mà không cần tải lại.PHP và Javascript hoạt động cùng nhau

Tôi đã nhìn thấy nó được thực hiện với phòng trò chuyện nhưng không chắc chắn cách hoạt động.

+1

Vâng, ajax. Và nếu bạn đang làm ajax tôi rất muốn giới thiệu các thư viện jquery vì nó làm cho nó dễ dàng hơn nhiều – Kris

Trả lời

3

Chúng tôi chủ yếu sử dụng Ajax, bao gồm mã Javascript phía máy khách gọi trang phía máy chủ, khi thoát khỏi trang.

Dưới đây là một ví dụ mà sẽ nhận được nội dung hiển thị của một trang, sử dụng phương pháp GET (JSFiddle):

var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHttp'); 
xhr.onreadystatechange = function(){ 
    if(xhr.readyState==4 && ((xhr.status>=200 && xhr.status<300) || xhr.status==304)){//Checks if the content was loaded 
     console.log(this.responseText); 
    } 
} 
xhr.open('GET','myPHPPage.php?foo=foo&bar=bar',true); 
xhr.send(); 

Và đây sử dụng POST phương pháp (JSFiddle):

var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHttp'); 
var data = 'foo=foo&bar=bar'; 
xhr.onreadystatechange = function(){ 
    if(xhr.readyState==4 && ((xhr.status>=200 && xhr.status<300) || xhr.status==304)){//Checks if the content was loaded 
     console.log(this.responseText); 
    } 
} 
xhr.open('POST','myPHPPage.php',true); 
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded'); 
xhr.setRequestHeader('Content-length',data.length); 
xhr.send(data); 

Lưu ý rằng ở đây chúng tôi sử dụng phương thức setRequestHeader để thay đổi tiêu đề của yêu cầu HTTP này và, trong trường hợp này, để thay đổi Content-typeContent-length (tiêu đề này có giá trị mặc định là 4096 byte). Ngoài ra, phương pháp setRequestHeaderphải được gọi là được gọi sau phương thức open.

Các liên kết này sẽ giúp bạn:

https://developer.mozilla.org/en/Ajax

http://code.google.com/intl/pt-BR/edu/ajax/tutorials/ajax-tutorial.html

+0

Liên kết thứ hai của 404. –

+0

Tôi đã sửa liên kết –

2

Có điều cực kỳ phổ biến. Đọc trên Ajax.

+0

Đó là những gì Facebook sử dụng để bật trạng thái mới mà không cần phải cập nhật trang? –

+0

Vâng, chính xác như vậy –

+0

Tôi đọc trên w3schools như Abadis đề xuất trước đây. Tôi thấy nó ngắn. Có nhiều và/hoặc nơi tốt hơn để tìm hiểu về Ajax hoặc là khá nhiều không? Btw, cảm ơn, điều này có ý nghĩa hơn rất nhiều. –

0

Chúng tôi gọi AJAX đó !!! Chỉ đọc Tài liệu trên internet về ajax

+0

Hãy cẩn thận: Mọi người ở đây không thích w3schools.com –

+0

Trong khi liên kết đến w3schools có thể là okey, gọi nó là 'tài liệu' là đồng bằng sai. – Matsemann

+0

Tôi đã chỉnh sửa bài đăng – Abadis

Các vấn đề liên quan