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