笔记----Ajax的get与post

Get请求

数据量有限制,隐私暴露在地址栏,不安全。

栗子:
HTML代码:

用户名称:<input type="text" name="" value="" id="txtName">
        <span id="txtNameTip">**</span>

JavaScript代码:

//获得XMLHttpRequest对象,分IE5.5--IE6 和 IE7以上Chrome、FF...两大类
function getXhr(){
  var xhr = null;
  if(window.XMLHttpRequest){
    xhr = new XMLHttpRequest();
  }else{
    xhr = new ActiveXObject("Microsoft.XMLHttp");
  }
  return xhr;
}

$(function(){
  $("#txtName").blur(function(){
    //获取xhr
    var xhr = getXhr();
    //创建请求
    var name = $("#txtName").val();
    var url = "checkName.php?name=" + name;
    xhr.open("get",url,true);
    //状态变化
    xhr.onreadystatechange = function(){
      if(xhr.readyState == 4 && xhr.status == 200){
        $("#txtNameTip").html(xhr.responseText);
      }
    }
    //发送请求
    xhr.send(null);
  });

PHP代码:

<?php
  //用接受的数据与admin进行判断
  //接收用户提交的数据
  $name = $_REQUEST["name"];
  if($name=="admin"){
    echo "用户名已存在";
  }else{
    echo "通过";
  }
 ?>

页面:
这里写图片描述

注意点:
使用get请求,xhr.send(null) 中一定要定参数null。
需要传的参数在url中拼接。

post请求

数据量没有限制,隐私不会暴露在地址栏,安全。

栗子:
HTML代码:

用户名称:<input type="text" name="" value="" id="txtName">
        <span id="txtNameTip">**</span>

JavaScript代码:

function getXhr(){
  var xhr = null;
  if(window.XMLHttpRequest){
    xhr = new XMLHttpRequest();
  }else{
    xhr = new ActiveXObject("Microsoft.XMLHttp");
  }
  return xhr;
}


$(function(){
  $("#txtName").blur(function(){
    //获取xhr
    var xhr = getXhr();

    //创建请求
    var name = $("#txtName").val();
    var url = "checkName.php";     //与get请求不一样的地方  

    xhr.open("post",url,true);

    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");      //与get请求不一样的地方

    //状态变化
    xhr.onreadystatechange = function(){
      if(xhr.readyState == 4 && xhr.status == 200){
        $("#txtNameTip").html(xhr.responseText);
      }
    }

    //发送请求
    xhr.send("name=" + name);    //与get请求不一样的地方  
  });

PHP代码与get请求相同。

结果也与get请求相同。

注意:

使用post请求,参数写在xhr.send()方法内,多个参数用 “&” 符号相连接。
使用post请求,一定记住要手动设置请求头
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
代码在创建请求和发送请求之间均可。

AJAX请求大致的四步:

  1. 得到XMLHttpRequest对象。
  2. 创建请求。xhr.open(method,url,aysn);
  3. 设置回调函数:指定xhr.onreadystatechange事件
  4. 发送请求。xhr.send();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值