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.常用 ...
随机推荐
- lua协程一则报错解决“attempt to yield across metamethod/C-call boundary”
问题 attempt to yield across metamethod/C-call boundary 需求跟如下帖子中描述一致: http://bbs.chinaunix.net/forum.p ...
- Spark:Join相关优化文章
http://blog.csdn.net/lsshlsw/article/details/48975771 https://www.douban.com/note/499691663/ http:// ...
- Hadoop基础知识
摘要:Hadoop的安装目录了解.etc的核心配置项.hadoop的启动.HDFS文件的block块级副本的存放策略.checkpoint触发设置. 1.hadoop目录了解 bin:可执行文件,命令 ...
- input 正则限制输入内容
js 限制input只能输入数字小数点也不能输入或者是只能输入数字,能输小数点等等,本文大致整理了一些,感兴趣的朋友可以收藏下 代码如下: 1 <input type="text& ...
- Windows Phone 四、控件模版
控件模版的概念 Windows Phone中每一个控件都有一个默认的模版,用于描述控件的内部组成结构和外观样式 相对于原本的样式外观操作,自定义模版的可自定义性更强 最基本的重写控件模版 <Gr ...
- $.Ajax({});方法使用 返回json格式 string格式
//Json格式 $.ajax({ url: url + "?action=Save1", type: "post", dataType: "json ...
- 自适应网页设计(Responsive Web Design)
引用:http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html 随着3G的普及,越来越多的人使用手机上网. 移动设备正超过桌面 ...
- linux运维自动化shell脚本小工具
linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...
- C# 获取当前路径方法
//获取包含清单的已加载文件的路径或 UNC 位置. public static string sApplicationPath = Assembly.GetExecutingAssembly ( ) ...
- 【日常小记】linux中强大且常用命令:find、grep【转】
转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍fin ...