听起来可能很奇怪,但我一直用PHP编写游戏。我发现的主要问题是更新PHP的唯一方法是加载页面。这使得实时变慢。 Javascript可以与页面交互而无需重新加载。是否可以使用Javascript在页面上加载PHP页面?这样就可以在不重新加载的情况下反复加载PHP。
我已经看到它与聊天室完成但不确定它是如何工作的。
答案 0 :(得分:3)
我们主要使用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字节)。此外,setRequestHeader
方法必须才能调用open
方法。
这些链接可以帮助您:
https://developer.mozilla.org/en/Ajax
http://code.google.com/intl/pt-BR/edu/ajax/tutorials/ajax-tutorial.html
答案 1 :(得分:2)
是的,这非常普遍。 阅读Ajax。
答案 2 :(得分:0)
我们称之为AJAX! 刚阅读有关ajax的互联网文档