AJAX的使用方法详解


Posted in PHP onApril 29, 2017

AJAX作为异步传输,局部刷新非常方便,用处很广!

首先,对于AJAX的使用有4步:

1.创建AJAX对象

var xmlHttp = new XMLHttpRequest();

2.建立连接 (‘提交方式',‘Url地址')

xmlHttp.open('get','./AJAX_XML.xml');

3.判断ajax准备状态及状态码

xmlHttp.onreadystatechange = function(){

    if (xmlHttp.readyState==4 && xmlHttp.status==200) {
  }
}

4.发送请求

xmlHttp.send(null);    //get方式参数为null,post方式,参数为提交的参数

以下以异步提交用户名(输入用户名之后,异步提交后台判断,前台立马提示是否已注册,不用提交时再判断!)

GET方式提交

xx.html

<script type="text/javascript">
window.onload=function(){
  document.getElementById('username').onblur=function(){
    var name=document.getElementById('username').value;
    var req=new XMLHttpRequest();
    req.open('get','4-demo.php?name='+name);
    req.onreadystatechange=function(){
      if(req.readyState==4 && req.status==200){
        alert(req.responseText);
      }
    }
    req.send(null);  //如果send()方法中没有数据,要写null
  }
}
</script>

用户名:  <input type="text" name="" id="username">

xx.php

<?php
print_r($_GET);
?> 

1、   IE不支持中文

2、   =、&与请求的字符串的关键字相混淆。

POST提交

xx.html

<script type="text/javascript">
window.onload=function(){
  document.getElementById('username').onblur=function(){
    var name=document.getElementById('username').value;
    name=encodeURIComponent(name);
    var req=new XMLHttpRequest();
    req.open('post','5-demo.php?age='+20);
    req.onreadystatechange=function(){
      if(req.readyState==4 && req.status==200){
        alert(req.responseText);
      }
    }
  req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    req.send('name='+name);  
  }
}
</script>

用户名: <input type="text" name="" id="username">

xx.php

<?php
print_r($_POST);
print_r($_GET);
?>

1、通过send()发送数据

2、必须设置setRequestHeader()将传递的参数转成XML格式

3、post提交可以直接提交中文,不需要转码

4、post请求中的字符也会和URL中的&、=字符相混淆,所以建议也要使用encodeURIComponent()编码

5、在POST提交的同时,可以进行GET提交

解决 IE不支持中文   =、&与请求的字符串的关键字相混淆 问题

在js中通过encodeURIComponent()进行编码即可。

window.onload=function(){
  document.getElementById('username').onblur=function(){
    var name=document.getElementById('username').value;
    name=encodeURIComponent(name);  //编码
    var req=new XMLHttpRequest();
    req.open('get','4-demo.php?name='+name);
    req.onreadystatechange=function(){
      if(req.readyState==4 && req.status==200){
        alert(req.responseText);
      }
    }
    req.send(null);  //如果send()方法中没有数据,要写null
  }
}

1、req.responseText:获取返回的字符串

2、req.responseXML:按DOM结构获取返回的数据

注意post/get两种提交方式的区别!

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
用IE远程创建Mysql数据库的简易程序
Oct 09 PHP
个人站长制做网页常用的php代码
Mar 03 PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
php检测url是否存在的方法
Apr 14 PHP
PHP使用token防止表单重复提交的方法
Apr 07 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
实例讲解PHP页面静态化
Feb 05 PHP
Smarty模板语法详解
Jul 20 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
PHP tp5中使用原生sql查询代码实例
Oct 28 PHP
PHP实现的DES加密解密封装类完整实例
Apr 29 #PHP
PHP编程实现csv文件导入mysql数据库的方法
Apr 29 #PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 #PHP
PHP中Notice错误常见解决方法
Apr 28 #PHP
PHP实现查询手机归属地的方法详解
Apr 28 #PHP
PHP中Cookie的使用详解(简单易懂)
Apr 28 #PHP
PHP解决中文乱码
Apr 28 #PHP
You might like
PHP4.04简明安装
2006/10/09 PHP
简单的页面缓冲技术
2006/10/09 PHP
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
php实现简单加入购物车功能
2017/03/07 PHP
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
最新28个很棒的jQuery 教程
2011/05/28 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
原生js实现日期联动
2015/01/12 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
微信小程序 密码输入(源码下载)
2017/06/27 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
2020/08/20 Javascript
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
python实现xml转json文件的示例代码
2020/12/30 Python
大专应届生个人简历的自我评价
2013/10/15 职场文书
怎样写好创业计划书的内容
2014/02/06 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
人民检察院起诉书
2015/05/20 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技
python实现会员管理系统
2022/03/18 Python