1.回顾传统Ajax开发步骤

 ①:创建xmlHttpRequest对象
var xmlHttp = creatHttpRequest();
②:绑定回调函数
xmlHttp.onreadystatechange = function(){……}
③:建立连接
xmlHttp.open(“GET”,”url”);
④:发送数据
xmlHttp.send(null) //GET请求
如果是POST请求需要设置编码格式:
xmlHttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
xmlHttp.send(“key=value?key=value”)
⑤:书写回调函数
if(readyState == 4){
if(status ==200){
……
//操作xmlHttp.responseText主要针对返回HTML片段和json
//操作xmlHttp.responseXML主要针对返回XML片段。
}
}

2.jQuery的Ajax开发

jQuery提供了最底层的Ajax调用方法:$.ajax

 $.ajax{
type:”POST”
url: “some.php”
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
}

// 因为使用比较繁琐,所以在实际开发中,应用很少

为了简化Ajax开发,jQuery提供了对$.ajax()进一步的封装方法$load、$get、$post。这三个方法不支持跨域,$getJSON、$getScript支持跨域。

①:load方法

load方法是jQuery中最为简单和常用的Ajax方法,处理HTML片段此方法最为合适。

语法

$("jquery对象").load("url","data") ;

url:Ajax访问服务器地址

data:请求参数

返回内容HTML片段 ,自动放入$("jquery对象")innerHTML 中(如果返回的数据需要处理,我们可以使用get或者post)

load()方法的传递参数根据参数data来自动自定。如过没有参数的传递,采用GET方式传递,否则采用POST方式

 比如校验用户名是否存在

$(function(){

// 为用户名添加离焦事件

$("input[name='username']").blur(function(){

// 获得当前输入 username

var username = $(this).val();

// 提交Ajax校验

$("#info").load("/Ajax/checkUsername" , {'username': username});

});

});

<form>

<!-- div display:block  自动换行效果  span display:inline; 不会换行 -->

用户名 <input type="text" name="username" /> <span id="info"></span> <br/>

密码 <input type="password" name="password"/><br/>

<input type="submit" value="注册" />

</form>

②:get方法和post方法

语法 :

$.get/$.post("url","parameter",function(data){...});

url Ajax访问服务器地址

parameter 代表请求参数

function 回调函数 data 代表从服务器返回数据内容

这里data代表各种数据内容 : HTML片段、JSON、XML

如果传递参数给服务器使用 $.post , 不需要传参数 可以使用 $.get

关于原生AJAX和jQueryAJAX的编程的更多相关文章

  1. 原生Ajax和jqueryAjax写法

    原生写法: $('#send').click(function(){ //请求的5个阶段,对应readyState的值 //0: 未初始化,send方法未调用: //1: 正在发送请求,send方法已 ...

  2. js原生Ajax 的封装和原理

    原理及概念 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是一种用于创建快速动态网页的技术. 动态网页:是指可以通过服务器语言结合数 ...

  3. 原生Ajax

    使用原生Ajax 验证用户名是否被注册 创建出注册信息: <h1>注册信息</h1><input type="text" name="txt ...

  4. JS原生ajax与Jquery插件ajax深入学习

    序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...

  5. 原生Ajax 和Jq Ajax

    前言:这次介绍的是利用ajax与后台进行数据交换的小例子,所以demo必须通过服务器来打开.服务器环境非常好搭建,从网上下载wamp或xampp,一步步安装就ok,然后再把写好的页面放在服务器中指定的 ...

  6. 手写原生ajax

    关于手写原生ajax重要不重要,各位道友自己揣摩吧, 本着学习才能进步,分享大家共同受益,自己也在自己博客里写一下 function createXMLHTTPRequest() { //1.创建XM ...

  7. 浅谈AJAX的基本原理和原生AJAX的基础用法

    一.什么是AJAX? AJAX,即"Asynchronous Javascript And XML",翻译为异步的JavaScript和XML,是一种创建交互式网页应用的网页开发技 ...

  8. python_way day21 Django文件上传Form方式提交,原生Ajax提交字符处啊,Django文件上传之原生Ajax方式、jQuery Ajax方式、iframe方式,Django验证码,抽屉示例,

    python_way day21 1.Django文件上传至Form方式 2.原生Ajax文件上传提交表单 使用原生Ajax好处:不依赖jquery,在发送一个很小的文件或者字符串的时候就可以用原生A ...

  9. [译]脱离jQuery,使用原生Ajax

    脱离jQuery,使用原生Ajax 标签: Ajax translate 英文出处:<A Guide to Vanilla Ajax Without jQuery> 翻译: 刘健超 J.c ...

随机推荐

  1. QT数据库使用案列【联系人】-- 使用sqlite和QStringListModel

    [关于如何打包自己开发的程序为安装包,可以参考http://www.cnblogs.com/yuliyang/p/4242179.html] [简要功能介绍] 使用sqlite数据库和Qt搭建界面,实 ...

  2. STM32 串口DMA方式接收(转)

    STM32 是一款基于ARM Cortex-M3内核的32位MCU,主频最高可达72M.最近因为要在车机上集成TPMS功能, 便开始着手STM32的开发工作,STM32F10x系列共有5个串口(USA ...

  3. 类内const static(static const)成员变量初始化问题

    在查找const相关资料的过程中,又遇到了另外一个问题,就是C++类中const static(或者static const)成员变量应当如何初始化的问题. 查阅了许多资料,发现VC环境下,只允许co ...

  4. NOIP2014 无线网络发射器选址

    1.无线网络发射器选址 (wireless.cpp/c/pas) [问题描述] 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平 ...

  5. mfc的一个串口类

    这几天一直再看串口相关知识,对于其总结为如下串口类: 头文件声明如下: #pragma once // 声明当串口接收到线程的时候调用的函数指针 // 参数: 1,接收到的数据: 2,数据长度: 3, ...

  6. 【noip2011】观光公交

    题解: 做这题的时候为了敢速度- - 直接orz了神小黑的题解 其实我还是有想一个拙计的方法的- - dp:f[i][j] 表示到i点使用j个加速器 在i前上车的人的时间和 轻松愉悦转移之 - - 但 ...

  7. Ubuntu下部署SVN+SVNManager

    本文参考了一下博客,特此感谢: 灰烬之灵    一米阳光做IT.测试 环境描述:ubuntu 13.04 1.先创建svn组和svn用户: sudo addgroup svnsudo useradd ...

  8. JS实现复制到剪贴板

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. 网络操作与AFNetworking

    众所周知,苹果搞的一套框架NSContention发送请求与接收请求的方式十分繁琐.操作起来很不方便.不仅要做区分各种请求设置各种不同的参数,而且还要经常在多线程里操作,同时还要对请求与返回的数据做各 ...

  10. 【Stage3D学习笔记续】山寨Starling(二):VertexData探幽

    还记得之前的学习笔记中我们的顶点缓冲数组中的顶点数据么,我们使用一个一维数组来记录所有的顶点数据,这是由于顶点缓冲上传数据时是使用的一维数组. 如果对顶点数据进行一层代码的封装,就能更加的方便我们来操 ...