Ajax
Ajax执行额外的网页请求,并获取当前页面的信息,而不需要刷新。
(Ajax的实时更新-Google map是使用Ajax技术实现的)
DOM的一些介绍文档
XMLHttpRequest是其中重要的对象。
XMLHttpRequest中的方法:
举个例子:
function quote()
{
//instantiate XMLHttpRequest object
try
{
//使用火狐,google等其他的浏览器
xhr=new XMLHttpRequest();
//首先使用
}
catch(e)
{
//使用IE浏览器
//如果上面实例化失败则catch异常,但不是直接报错,而是换为另外一种方式。还有其他几种方法实现,能够兼容多种浏览器(使用库来进行实例化)
xhr=new ActiveXObject(“Microsoft.XMLHTTP”);
}
//handle old browsers
if(xhr==null)
{
//如果是null则可能是比较老的版本,无法实例化出现问题,需要报告用户,例如,不能使用Ajax。
alert(“Ajax not supported by your browser!”);
return;
}
var url=”quote1.php?symbol=”+document.getElementById(“symbol”).value;
//get quote
xhr.onreadystatechange=handler;
xhr.open(“GET”,url,true);//true需要异步的,一般都是true
xhr.send(null);
}
/*
*void
*handler()
*
*Handles the Ajax reqponse.
*/
Function handler()
{
//only handle loaded requests这里只处理一种情况
//403没有权限,404查找不到
if(xhr.readystate==4)
{
//status 代表html状态
If(xhr.status==200)
alert(xhr.responseText);
else
alert(“error with Ajax call!”);
}
}
Php代码:
$handle=@fopen(“http://download.finance.yahoo.com/d/quotes.csv?s={$_GET[‘symbol’]}&f=e111”,”r”);
If($handle!=false)
{
$data=fgetcsv($handle);
If($data!==false&&$data[0]==”N/A”)
Print($data[1]);
Fclose($handle);
}
同源策略,如果从不受信任的位置获取信息,信息源处的人可能会意识到这点,并可能故意发送恶意数据,以此来破坏你的网站。
如果你试图执行某Ajax,html在自己的电脑上,如果想用URL调用云上的位置,这是行不通的,因为两个位置不匹配,两个文件必须在相同位置。