javascript基础--ajax
来源:互联网 发布:赌博软件破解 编辑:程序博客网 时间:2024/06/06 12:38
引言
ajax是一项无重新加载异步刷新页面的一种方式,提高了工作效率。譬如:智能提示搜索,留言板,表单提示功能等。可以防止阻塞,异步地与服务器进行交互。接下来从0开始学习ajax。
1.javascript的ajax实现
javascript实现ajax的方式是通过一个XMLHttpRequest对象实现。代码结构为:
var xhr = null;if(window.XMLHttpRequest){ xhr = new XMLHttpRequest();}else{ xhr = new ActiveXObject('Microsoft.XMLHTTP');}xhr.onreadystatechange = function(){ //readystate状态有5种: status状态: //0: 请求未初始化 200:ok //1: 服务器连接已建立 404:not found //2: 请求已接收 //3: 请求处理中 //4: 请求已完成,且响应已就绪 if(xhr.readystate == 4 && xhr.status == 200){ //返回数据存储在responseText或者reseponseXML //do something... }}xhr.open('get/post',url,true/false);xhr.setRequestHeader("ContentType","application/x-www-form-urlencoded")//只有当method设置为post时,才添加setRequesteHeader,且放置在open和send之间//ContentType : multipart/form-data; application/x-www-form-urlencoded; text/plain三种值xhr.send(string);
稍微解释一下ContentType三个值。在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。
- application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。
- multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分
- text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符
如果form表单域不存在file上传域,则使用默认的application/x-www-form-urlencode足够了;如果form表单域存在file上传域则需当指定ContentType为multipart/form-data
2.jQuery的ajax实现
jQuery实现ajax的方式实质上是对javascript的xhr对象的封装,使之兼容各主流浏览器,代码结构为:
$.ajax({ type: 'GET/POST', url:发送请求的地址,受同源策略影响 data: 是一个对象,连同请求发送到服务器的数据,{} dataType: 预期服务器返回的数据类型,如'json','jsonp','xml' success: function(data){}, error: function(jqXHR){}})
结束语
本文归纳了ajax的使用方式,属于最基本的使用阶段,要理解其中的原理,还得自己去深究
0 0
- 【javascript】ajax基础
- javascript、ajax基础
- JavaScript之AJAX基础
- 【javascript】ajax 基础
- javascript基础:Ajax
- 【Javascript基础】Ajax初识
- javascript基础--ajax
- JavaScript基础之AJAX
- 18、JavaScript增强AJAX基础
- JavaScript——AJAX基础
- 【Ajax-javaScript】1、javascript的基础学习
- Ajax基础 (十二)---开发跨浏览器JavaScript
- JavaScript基础——Ajax与Comet
- JavaScript——Ajax基础二
- JS基础 JavaScript下AJAX请求
- JavaScript基础之JQuery与AJAX
- Ajax基础之一:JavaScript中的用户自定义类
- 学习AJAX+JQUERY必看(JavaScript基础对象篇)
- 北大 C++ 1.7 内联函数、函数重载和函数缺省参数
- 1090. Highest Price in Supply Chain
- 拉普拉斯变换 (有问题)
- Auto-Encoder相关介绍(转载)
- React Native 常见问题集合
- javascript基础--ajax
- Linux and C[2]: What is the function of inet_aton or inet ntoa ?
- 第七届蓝桥杯省赛Java语言C组_骰子游戏
- redis集群搭建
- javascript第一步
- eclipse环境下设置utf-8编码格式
- Google开源C++单元测试框架gTest 8:编写简单的测试框架
- 提高篇项目4.1--求组合数
- 算法竞赛入门经典ch3_ex2蛇形填数