这听起来可能很奇怪,但我一直在用PHP编程游戏。我发现的主要问题是更新PHP的唯一方法是加载页面。这使得实时变慢。Javascript可以与页面交互,而无需重新加载它。是否可以使用 Javascript 在页面上加载 PHP 页面?这样它就可以允许 PHP 一遍又一遍地加载而无需重新加载。
我已经看到它在聊天室中完成,但不确定它是如何工作的。
我们主要使用 Ajax,它包含一个客户端 Javascript 代码,它调用服务器端页面,而不离开页面。
下面是一个使用 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();
在这里使用 POST 方法(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);
请注意,这里我们使用 setRequestHeader
方法来更改此 HTTP 请求的标头,在本例中,更改Content-type
和Content-length
(此标头的默认值为 4096 字节)。此外,必须在open
方法之后调用 setRequestHeader
方法。
这些链接应该可以帮助您:
https://developer.mozilla.org/en/Ajax
http://code.google.com/intl/pt-BR/edu/ajax/tutorials/ajax-tutorial.html
是的,这非常普遍。阅读阿贾克斯。
我们称之为AJAX!!只需阅读互联网上关于 ajax 的文档