PHP和Javascript一起工作


PHP and Javascript working together

这听起来可能很奇怪,但我一直在用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-typeContent-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 的文档