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.常用 ...
随机推荐
- [Android Tips] 21. Regex Named Groups in Android
Android SDK 并没有包含 Java 7 新增加的命名捕获组功能,需要使用第三方库 https://github.com/tony19/named-regexp import com.goog ...
- 改造过的JS颜色选择器
项目中用到颜色选择功能,在网上找了个颜色选择器,自己改了改代码.做成了一个可动态加载的颜色选择器. 把代码贴上,当是记录. /*Copyright(c)2009,www.supersite.me*/ ...
- iOS 9的升级后的问题处理
iOS 9变动影响SDK部分: 增加了bitCode编码格式,当SDK不支持bitCode时,用户集成时无法开启bitCode选项. 现象:用户集成SDK后无法编译通过,错误日志里包含了bitCode ...
- HTML、JavaScript之单双引号转义
一.HTML : 双引号:" 单引号:' 二.JavaScript: 双引号:\" 单引号:\'
- Dynamics AX 2012 R2 业务系列-采购业务流程
在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 国际惯例,从采购开始. 1.采购的主要职责 简单点说,采购的主要职责,是从供应 ...
- 压力测试工具JMeter入门教程
1.Jmeter 概要描叙 jmeter 是一款专门用于功能测试和压力测试的轻量级测试开发平台.多数情况下是用作压力测试,该测试工具在阿里巴巴有着广泛的使用,估计是不要钱吧,哈哈,功能上来说,整个平台 ...
- iperf交叉编译:
下载:http://sourceforge.net/projects/iperf 1. 先把iperf-2.0.4.tar.gz解压到你的目录下.2. cd iperf-2.0.43. ./confi ...
- 逗比的wifi开关
笔记本会出现网卡开机不能用的现象.具体表现为:网卡没有禁用,但是搜索不到无线信号.适配器选项框里面选中无线网卡,然后诊断这个链接提示启用无线功能.然后我点击应用此修复就能搜索到无线信号了.问题是,电脑 ...
- JS表单验证
1. 长度限制 <script> function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符 ...
- Masonry的使用
1.//添加了这个宏,就不用带mas_前缀了 #define MAS_SHORTHAND //添加了这个宏,equalTo就等于mas_equalTo #define MAS_SHORYHAND_G ...