前端相关技术之ajax相关
AJAX技术点
async javascript and xml:异步的js和xml,用js异步去操作xml
ajax用于数据交互,不能操作DOM
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>无标题文档</title>
- <!--<script src="jquery.js"></script>-->
- <script>
- //$(function(){}) //阻塞 -> 同步
- //非阻塞 - 异步
- /*setTimeout(function() {
- alert(1);
- }, 2000);
- alert(2);*/
- window.onload = function() {
- var oBtn = document.getElementById('btn');
- oBtn.onclick = function() {
- //打开浏览器
- /*
- 1.创建一个ajax对象
- ie6以下new ActiveXObject('Microsoft.XMLHTTP')
- */
- var xhr = null;
- /*if (window.XMLHttpRequest) {
- xhr = new XMLHttpRequest();
- } else {
- xhr = new ActiveXObject('Microsoft.XMLHTTP');
- }*/
- try {
- xhr = new XMLHttpRequest();
- } catch (e) {
- xhr = new ActiveXObject('Microsoft.XMLHTTP');
- }
- //alert( xhr.readyState );
- //在地址栏输入地址
- /*
- open方法
- 参数
- 1.打开方式
- 2.地址
- 3.是否异步
- 异步:非阻塞 前面的代码不会影响后面代码的执行
- 同步:阻塞 前面的代码会影响后面代码的执行
- */
- xhr.open('get','1.txt',true);
- //提交 发送请求
- //alert(1);
- xhr.send();
- //alert( xhr.readyState );
- //alert(1)
- //alert( xhr.responseText );
- //等待服务器返回内容
- /*
- readyState : ajax工作状态
- responseText : ajax请求返回的内容就被存放到这个属性下面
- on readystate change : 当readyState改变的时候触发
- status : 服务器状态,http状态码
- */
- xhr.onreadystatechange = function() {
- if ( xhr.readyState == ) {
- if ( xhr.status == ) {
- alert( xhr.responseText );
- } else {
- alert('出错了,Err:' + xhr.status);
- }
- }
- }
- }
- }
- </script>
- </head>
- <body>
- <input type="button" value="按钮" id="btn" />
- </body>
- </html>
表单参数
- <body>
- 表单:数据的提交
- action : 数据提交的地址,默认是当前页面
- method : 数据提交的方式,默认是get方式
- .get
- 把数据名称和数据值用=连接,如果有多个的话,那么他会把多个数据组合用&进行连接,然后把数据放到url?后面传到指定页面
- .post
- enctype : 提交的数据格式,默认application/x-www-form-urlencoded
- <form action="1.get.php" enctype="application/x-www-form-urlencoded">
- <input type="text" name="username" />
- <input type="text" name="age" />
- <input type="submit" value="提交" />
- </form>
- </body>
get与post请求,get方式可能有缓存,post提交是没有缓存
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>无标题文档</title>
- <!--<script src="jquery.js"></script>-->
- <script>
- //$(function(){}) //阻塞 -> 同步
- //非阻塞 - 异步
- /*setTimeout(function() {
- alert(1);
- }, 2000);
- alert(2);*/
- window.onload = function() {
- var oBtn = document.getElementById('btn');
- oBtn.onclick = function() {
- var xhr = null;
- try {
- xhr = new XMLHttpRequest();
- } catch (e) {
- xhr = new ActiveXObject('Microsoft.XMLHTTP');
- }
- /*
- 1.缓存 在url?后面连接一个随机数,时间戳
- 2.乱码 编码encodeURI
- */
- xhr.open('get','2.get.php?username='+encodeURI('刘伟')+'&age=30&' + new Date().getTime(),true);
- xhr.send();
- xhr.onreadystatechange = function() {
- if ( xhr.readyState == ) {
- if ( xhr.status == ) {
- alert( xhr.responseText );
- } else {
- alert('出错了,Err:' + xhr.status);
- }
- }
- }
- }
- }
- </script>
- </head>
- <body>
- <input type="button" value="按钮" id="btn" />
- </body>
- </html>
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>无标题文档</title>
- <!--<script src="jquery.js"></script>-->
- <script>
- //$(function(){}) //阻塞 -> 同步
- //非阻塞 - 异步
- /*setTimeout(function() {
- alert(1);
- }, 2000);
- alert(2);*/
- window.onload = function() {
- var oBtn = document.getElementById('btn');
- oBtn.onclick = function() {
- var xhr = null;
- try {
- xhr = new XMLHttpRequest();
- } catch (e) {
- xhr = new ActiveXObject('Microsoft.XMLHTTP');
- }
- xhr.open('post','2.post.php',true);
- //post方式,数据放在send()里面作为参数传递
- xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');//申明发送的数据类型
- //post没有缓存问题
- //无需编码
- xhr.send('username=刘伟&age=30');
- xhr.onreadystatechange = function() {
- if ( xhr.readyState == ) {
- if ( xhr.status == ) {
- alert( xhr.responseText );
- } else {
- alert('出错了,Err:' + xhr.status);
- }
- }
- }
- }
- }
- </script>
- </head>
- <body>
- <input type="button" value="按钮" id="btn" />
- </body>
- </html>
前端相关技术之ajax相关的更多相关文章
- 前端框架之bootstrap及相关技术网站
1.web框架之bootstrap bootstrap来源Twitter,是一个CSS/HTML框架,它是基于HTML,CSS,JavaScript下的,使用简洁,当中提供了很多HTML和CSS 如用 ...
- 关于Web开发里并发、同步、异步以及事件驱动编程的相关技术
一.开篇语 我的上篇文章<关于如何提供Web服务端并发效率的异步编程技术>又成为了博客园里“编辑推荐”的文章,这是对我写博客很大的鼓励,也许是被推荐的原因很多童鞋在这篇文章里发表了评论,有 ...
- MVC中Controller控制器相关技术
第6章Controller相关技术 Controller(控制器)在ASP.NET MVC中负责控制所有客户端与服务器端的交互,并 且负责协调Model与View之间的数椐传递,是ASP.NET MV ...
- Asp.Net WebAPI及相关技术介绍(含PPT下载)
此PPT讲述了Asp.Net WebAPI及相关Web服务技术发展历史. 共80多页,Asp.Net WebAPI在讲到第36页的时候才会出现,因为这个技术不是凭空产生的,它有着自己的演变进化的历史. ...
- AJAX相关总结
AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 J ...
- SAAS相关技术要点
这篇文章本来是我们开发组内部用的一个小文档.因为我们公司以前没有做SAAS的经验,就成立了一个小组做一做这方面的技术前探,我是成员之一.这篇文档想从宏观的层面把开发一个SAAS应用所要用到的技术点稍微 ...
- SSE及相关技术(web sockets, long polling等)
server-sent events--One Way Messaging 允许网页获得来自服务器的更新,并且自动更新 Server-Sent Events: allow a web page to ...
- 2017值得一瞥的JavaScript相关技术趋势
2017值得一瞥的JavaScript相关技术趋势从属于笔者的Web 前端入门与工程实践,推荐阅读2016-我的前端之路:工具化与工程化获得更多关于2016年前端总结.本文主要内容翻译自,笔者对于每个 ...
- selenium相关技术研究(从1.0-3.0)
注: 以下内容引自http://www.cnblogs.com/hhudaqiang/p/6550135.html Selenium相关技术研究(从1.0-3.0) 好吧,最近看wxpython有点多 ...
随机推荐
- java实现excel与mysql的导入导出
注意:编码前先导入poi相关jar包 1 /** * 读excel 到list * * @param file excel file * @param fields 字段数组 * @return * ...
- poj3304Segments(直线与多条线段相交)
链接 枚举两点(端点),循环遍历与直线相交的线段. #include <iostream> #include<cstdio> #include<cstring> # ...
- 关于php的一些小知识
浏览目录: 一.PHP的背景和优势: 二.PHP原理简介: 三.PHP运行环境配置: 四.编写简单的PHP代码以及测试. 一.PHP的背景和优势 1.1 什么是PHP? PHP是能让你生成动态网页 ...
- JavaScript变量——栈内存or堆内存
原文 http://blog.csdn.net/xdd19910505/article/details/41900693 堆和栈这两个字我们已经接触多很多次,那么具体是什么存在栈中什么存在堆中呢?就 ...
- Java开发中的一些小技巧
原文:http://www.cnblogs.com/xdp-gacl/p/3490276.html 一. Java获取URL地址中传递的参数 /** * 获取URL中的参数名和参数值的Map集合 * ...
- EL 表达式
转载自 :http://blog.csdn.net/qwerasdf123/article/details/4189889 EL表达式 1.EL简介 1)语法结构 ${expr ...
- 转!论if else与switch的效率高低问题
转 下面来详细描述switch与ifelse的区别. switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转 ...
- Unity shader(CG) 写一个 散色、折射、反射、菲涅尔、gamma、简单后期屏幕特效
http://www.lai18.com/content/506918.html 1.自生要求是很重要的,当然不是什么强迫工作之类的,而是自己有限的能力上不断的扩展兴趣上的内容. 2.用生活的眼光去发 ...
- 5.4.1 Selenium2启动空浏览器
在Web自动化测试中,必须考虑不同浏览器对网站的兼容性测试,所以我们首先介绍如何用webDriver代码打开不同的浏览器. 本节介绍的是在Selenium2启动浏览器时,启动一个干净的没有任务插件及c ...
- 《Java程序设计》第四周学习总结
20145224-陈颢文 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 ·继承就是面向对象中,子类继承父类,避免重复的行为定义.重复再程序设计上是非常不好的信号 ...