1、AJAX = Asynchronous JavaScript And XML(异步JavaScript和XML)
AJAX使用XML和HTTP请求数据
2、XMLHttpRequest是AJAX的关键
创建XMLHttpRequest对象:
var XMLHttp = null;
if(window.XMLHttpRequest){
XMLHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
最新的XMLHttpRequest:
function GetXmlHttpObject(){
var xmlHttp=null;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch(e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
3、PHP AJAX XML:
var xmlHttp;
function showCD(str){
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null){
alert ("Browser does not support HTTP Request");
return;
}
var url="getcd.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject(){
var xmlHttp=null;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch(e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
//PHP
<?php
$q=$_GET["q"];
$xmlDoc = new DOMDocument();
$xmlDoc->load("cd_catalog.xml");
$x=$xmlDoc->getElementsByTagName('ARTIST');
for ($i=0; $i<=$x->length-1; $i++){
//Process only element nodes
if ($x->item($i)->nodeType==1){
if ($x->item($i)->childNodes->item(0)->nodeValue == $q){
$y=($x->item($i)->parentNode);
}
}
}
$cd=($y->childNodes);
for ($i=0;$i<$cd->length;$i++){
//Process only element nodes
if ($cd->item($i)->nodeType==1){
echo($cd->item($i)->nodeName);
echo(": ");
echo($cd->item($i)->childNodes->item(0)->nodeValue);
echo("<br />");
}
}
?>
PHP AJAX MySQL
header('Content-Type: text/xml');
重点就是XMLHttpRequest对象和stateChange()函数
4、Array/Calendar/Date/Time/Directory/Error/Logging/Filesystem/Filter/FTP/HTTP/libxml/Mail/Math/MySQL/SimpleXML/String/XML Parser/PHP Zip File
5、素数的运用
6、ThinkPHP jQuery
7、模版:PHPlib的Template技术:将html和php代码分离;解决了美工和程序员的协同工作问题;preg_replace()/ereg_replace()分析;
简单模板使用://.ihtml {}
<?php
include "template.inc";
$my_color = "blue";
// 将在后面使用
$t = new Template("C:/wamp/www/templates/");
// 创建一个名为 $t 的模板对象
$t->set_file("MyFileHandle","MyTemplate.ihtml");
// 设置 MyFileHandle = 我们的模板文件
$t->set_var("some_color",$my_color);
// 设置模板变量 some_color = $my_color值
$t->parse("MyOutput","MyFileHandle");
// 设置模板变量 MyOutput = 分析后的文件
$t->p("MyOutput");
// 输出 MyOutput 的值(我们的分析后的数据)
?>
8、文件缓存、Redis、Memcache
<?php
//连接
$mem = new Memcache;
$mem->connect("192.168.0.200", 12000);
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br />";
//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";
//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";
//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//关闭连接
$mem->close();
?>
9、LNMP/Git
10、jQuery+Bootstrap
AJAX使用XML和HTTP请求数据
2、XMLHttpRequest是AJAX的关键
创建XMLHttpRequest对象:
var XMLHttp = null;
if(window.XMLHttpRequest){
XMLHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
最新的XMLHttpRequest:
function GetXmlHttpObject(){
var xmlHttp=null;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch(e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
3、PHP AJAX XML:
var xmlHttp;
function showCD(str){
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null){
alert ("Browser does not support HTTP Request");
return;
}
var url="getcd.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject(){
var xmlHttp=null;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch(e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
//PHP
<?php
$q=$_GET["q"];
$xmlDoc = new DOMDocument();
$xmlDoc->load("cd_catalog.xml");
$x=$xmlDoc->getElementsByTagName('ARTIST');
for ($i=0; $i<=$x->length-1; $i++){
//Process only element nodes
if ($x->item($i)->nodeType==1){
if ($x->item($i)->childNodes->item(0)->nodeValue == $q){
$y=($x->item($i)->parentNode);
}
}
}
$cd=($y->childNodes);
for ($i=0;$i<$cd->length;$i++){
//Process only element nodes
if ($cd->item($i)->nodeType==1){
echo($cd->item($i)->nodeName);
echo(": ");
echo($cd->item($i)->childNodes->item(0)->nodeValue);
echo("<br />");
}
}
?>
PHP AJAX MySQL
header('Content-Type: text/xml');
重点就是XMLHttpRequest对象和stateChange()函数
4、Array/Calendar/Date/Time/Directory/Error/Logging/Filesystem/Filter/FTP/HTTP/libxml/Mail/Math/MySQL/SimpleXML/String/XML Parser/PHP Zip File
5、素数的运用
6、ThinkPHP jQuery
7、模版:PHPlib的Template技术:将html和php代码分离;解决了美工和程序员的协同工作问题;preg_replace()/ereg_replace()分析;
简单模板使用://.ihtml {}
<?php
include "template.inc";
$my_color = "blue";
// 将在后面使用
$t = new Template("C:/wamp/www/templates/");
// 创建一个名为 $t 的模板对象
$t->set_file("MyFileHandle","MyTemplate.ihtml");
// 设置 MyFileHandle = 我们的模板文件
$t->set_var("some_color",$my_color);
// 设置模板变量 some_color = $my_color值
$t->parse("MyOutput","MyFileHandle");
// 设置模板变量 MyOutput = 分析后的文件
$t->p("MyOutput");
// 输出 MyOutput 的值(我们的分析后的数据)
?>
8、文件缓存、Redis、Memcache
<?php
//连接
$mem = new Memcache;
$mem->connect("192.168.0.200", 12000);
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br />";
//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";
//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";
//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//关闭连接
$mem->close();
?>
9、LNMP/Git
10、jQuery+Bootstrap