PHP和Javascript一起工作

时间:2012-06-30 05:11:34

标签: php javascript real-time

听起来可能很奇怪,但我一直用PHP编写游戏。我发现的主要问题是更新PHP的唯一方法是加载页面。这使得实时变慢。 Javascript可以与页面交互而无需重新加载。是否可以使用Javascript在页面上加载PHP页面?这样就可以在不重新加载的情况下反复加载PHP。

我已经看到它与聊天室完成但不确定它是如何工作的。

3 个答案:

答案 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-typeContent-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的互联网文档