Ajax基础

来源:互联网 发布:proxifier linux版 编辑:程序博客网 时间:2024/06/03 20:21

刚刚接触Ajax写了一个小Demo,结果在Chrome下报错

提示信息为:

XMLHttpRequest cannot load file:///E:/untitled/Test.txt. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.window.onload @ ajax.html:41

后来才知道是跨域问题。Chrome不支持本地访问Ajax,通过服务器访问发现没有问题

<!DOCTYPE html>
<html lang="en">
<head>
<!-- 
js重要特性
用一个不存在的变量:出错
用一个不存在的属性:underfined
ajax原理:
get:用于获取数据
POST:用于上传数据
区别:
GET是在url里传数据  安全性低  容量低  会缓存
POST是放到http content里  安全性一般   容量几乎无限   不会缓存




1 创建Ajax对象  var oAjax=new XMLHttpRequest() IE6以上的浏览器才能用
在IE6下通过插件  var oAjax=new ActiveXObject()
兼容性写法
if(window.XMLHttpRequest){.....}
→→→→→→→→→→→→→→→→→→→→→→→不能写成XMLHttpRequest,因为IE6下不存在这个属性,会报错,写成window.XMLHttpRequest则会当做属性,返回underfinded






2 建立连接
3 发送请求
4 接收返回的值
 -->
  <style type="text/css">
  div{height: 200px;width: 200px;border:1px solid #000;}
  </style>
 <script type="text/javascript">
  window.onload=function(){
  //创建Ajax对象
  if(window.XMLHttpRequest)
  {var oAjax=new XMLHttpRequest();}
  else
  {var oAjax=new ActiveXObject("Microsoft.XMLHTTP")}
  //打开连接
         oAjax.open("GET","Test.txt",true);
         //发送请求
         oAjax.send();
         //获得返回的结果
          oAjax.onreadystatechange=function ()
{
         if(oAjax.readyState==4&&oAjax.status==200)
          {document.getElementsByTagName("div")[0].innerHTML=oAjax.responseText;}
         }
 
  }
 </script>
<meta charset="UTF-8">
<title>ajax</title>
</head>
<body>
<div></div>
</body>
</html>

0 0
原创粉丝点击