码迷,mamicode.com
首页 > Web开发 > 详细

AJAX学习笔记

时间:2018-01-23 20:19:15      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:active   类型   nts   win   blog   code   服务   pad   ie7   

创建 XMLHttpRequest 对象

var xmlhttp;
if (window.XMLHttpRequest)
{
    //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
    xmlhttp=new XMLHttpRequest();
}
else
{
    // IE6, IE5 浏览器执行代码
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

向服务器发送请求请求

open(method,url,async)规定请求的类型、URL 以及是否异步处理请求。xmlhttp.open("GET","/try/ajax/demo_get.php",true);

  • method:请求的类型;GET 或 POST
  • url:文件在服务器上的位置
  • async:true(异步)或 false(同步)

send(string)将请求发送到服务器。xmlhttp.send();

  • string:仅用于 POST 请求

POST 请求

xmlhttp.open("POST","/try/ajax/demo_post2.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");//常用有两种:application/x-www-form-urlencoded和multipart/form-data
xmlhttp.send("fname=Henry&lname=Ford");//这里发送表单的数据

JS解发:使用当前值,事件为按键事件

<input type="text" id="txt1" onkeyup="showHint(this.value)" />
function showHint(str)
{
var xmlhttp;
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";//设置空白
  return;
  }
....
xmlhttp.onreadystatechange=function()  //onreadystatechange 事件
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","/ajax/gethint.asp?q="+str,true);
xmlhttp.send();

响应

非XML请用

document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

示例

function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    myFunction(this);
    }
  };
  xhttp.open("GET", "cd_catalog.xml", true);
  xhttp.send();
}
function myFunction(xml) {
  var i;
  var xmlDoc = xml.responseXML;
  var table="<tr><th>Artist</th><th>Title</th></tr>";
  var x = xmlDoc.getElementsByTagName("CD");
  for (i = 0; i <x.length; i++) { 
    table += "<tr><td>" +
    x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue +
    "</td><td>" +
    x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +
    "</td></tr>";
  }
  document.getElementById("demo").innerHTML = table;
}

一个上午学完!!你懂了?反正我是懂了

AJAX学习笔记

标签:active   类型   nts   win   blog   code   服务   pad   ie7   

原文地址:https://www.cnblogs.com/praybb/p/8337048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!