Ajax --- 数据请求
下面主要介绍(JavaScript原生)数据请求的主要步骤:
Ajax 数据请求步骤:
1、创建XMLHttpRequest对象
2、准备数据发送
3、执行发送
4、指定回掉函数
第一步:创建XMLHttpRequest对象
var xhr = new XMLHttpRequest(); // 标准浏览器 var xhr = new ActiveXObject('Microsoft.XMLHTTP'); // IE6
第二步:使用 open() 方法将参数传入
xhr.open('get','./check.php?username='+uname+'&password='+pw,true); // get 请求方式 xhr.open('post','./01check.php',true); // post 请求方式
第三步:使用 send() 方法将请求发送值服务器
xhr.send(null); // get 请求方式时,此处值为 null
xhr.send(请求地址); // post 请求方式时,此处值为 请求地址
第四步:执行回调函数
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){ // 4表示服务器返回的数据已经可以使用了,但是这个数据不一定是正常的
if(xhr.status == 200){ // 这里的200表示数据是正常的
alert(xhr.responseText);
}
}
}
</script>
综合:
==================================== html 页面 ============================================
<form>
用户名:
<input type="text" name="username" id="username"><span id="info"></span>
<br> 密码:
<input type="text" name="password" id="password">
<input type="button" value="登录" id="btn">
</form> <script>
var uname = document.getElementById('username').value;
var pw = document.getElementById('password').value; // 1、创建XMLHttpRequest对象
var xhr = null;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();//标准
}else{
xhr = new ActiveXObject("Microsoft");//IE6
} // 2、准备发送
xhr.open('post','post.php',true); // 3、执行发送动作
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); // 如 get 此步骤省略
xhr.send('username='+uname+'&password='+pw); //post请求参数在这里传递,并且不需要转码 // 4、指定回调函数
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){ // 4表示服务器返回的数据已经可以使用了,这里的200表示数据是正常的
var data = xhr.responseText;
if(data == '1'){
info.innerHTML == '登录成功';
}
else if(data == '2'){
info.innerHTML == '用户名或密码错误';
}else{
info.innerHTML == '服务器错误';
}
}
}
</script> =========================================== post.php 页面 ========================================
<?php
$uname = $_POST['username'];
$pw = $_POST['password']; if($uname == 'admin' && $pw == '123'){
echo 1;
}else{
echo $uname;
}
?>
注:以上是个人对原型链的理解及总结,如有笔误的地方还请大家多指教!
Ajax --- 数据请求的更多相关文章
- VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求
开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过Ajax请求来完成,在服务端未完成开发时,前端需要有一个可以模拟Ajax请求的服务器. 在NodeJs环境下,通过配置express可访问的 ...
- ajax数据请求5(php格式)
ajax数据请求5(php格式): <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- ajax数据请求4(xml格式)
ajax数据请求4(xml格式): <!doctype html> <html> <head> <meta charset="utf-8" ...
- ajax数据请求3(数组json格式)
ajax数据请求3(数组json格式) <!doctype html> <html> <head> <meta charset="utf-8&quo ...
- ajax数据请求2(json格式)
ajax数据请求2(json格式) <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- AJAX数据请求
ajax数据请求需要四个步骤:(请求文本内容) 1.创建XMLHttpRequest对象: 2.打开与服务起的链接: 3.发送给服务器: 4.响应就绪. <!DOCTYPE html> & ...
- 微信小程序的ajax数据请求wx.request
微信小程序的ajax数据请求,很多同学找不到api在哪个位置,这里单独把小程序的ajax请求给列出来,微信小程序的请求就是wx.request这个api,wx.request(一些对象参数),微信小程 ...
- ajax数据请求的理解
一,请求 发送请求有两种方式:get 跟 post . 1.get仅请求数据,不需要服务端做处理,最后会返回指定的资源. 2.post可以提交数据,服务端根据提交的数据做处理,再返回数据. 二,创建X ...
- ajax 数据请求(一)同域
参考:http://www.css88.com/jqapi-1.9/jQuery.ajax/ http://www.cnblogs.com/haitao-fan/p/3908973.html 1.常用 ...
随机推荐
- Elasticsearch之client源码简要分析
问题 让我们带着问题去学习,效率会更高 1 es集群只配置一个节点,client是否能够自动发现集群中的所有节点?是如何发现的? 2 es client如何做到负载均衡? 3 一个es node ...
- C# 连接Oracle ,免安装客户端
在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA ...
- jQuery CSS操作及jQuery的盒子模型
jQuery CSS-jQuery CSS方法 jQuery CSS-jQuery盒子模型
- Android驱动开发前的准备
最近看了一些Android驱动开发前需要知道的资料,收获很多,接下来就谈谈我自己的一些心得体会. Android在近几年时间发展迅速,已经成为智能手机操作系统的老大.不过,因为Android原生的代码 ...
- windows下jenkins常见问题填坑
没有什么高深的东西,1 2天的时间大多数人都能自己摸索出来,这里将自己遇到过的问题分享出来避免其他同学再一次挖坑. 目录 1. 主从节点 2. Nuget自动包还原 3. powershell部署 4 ...
- HTML、JavaScript之单双引号转义
一.HTML : 双引号:" 单引号:' 二.JavaScript: 双引号:\" 单引号:\'
- 一个section刷新 一个cell刷新
一个section刷新 一个cell刷新 //一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2]; [tabl ...
- 微信H5页面内实现一键关注公众号
H5页面内实现关注公众号的微信JSSDK没有相关接口开放,因此就得动点脑筋来实现该功能了.下面的方法就是通过一种非常蹊跷的方式实现的. 首先,需要在公众号内发表一篇原创文章,注意是原创文章,然后由另一 ...
- 在Ubuntu Server下配置LAMP环境
1. 下载Ubuntu Server,地址https://www.ubuntu.com/download/server 2. 在虚拟机上安装Ubuntu Server.根据安装引导过程一步步安装,跟在 ...
- 简述id,instancetype和__kindof的区别
id: 好处:可以调用任何对象方法 坏处:不能进行编译检查 + (id)person; instancetype 好处:自动识别当前类的对象 坏处:不会提示返回的类型 + (instancetype) ...