1.原生js实现Ajax方法:

var Ajax={get: function (url,fn){var obj=new XMLHttpRequest(); // XMLHttpRequest对象用于在后台与服务器交换数据 obj.open('GET',url,true); obj.onreadystatechange=function(){ if (obj.readyState == 4 && obj.status == 200 || obj.status == 304) { // readyState==4说明请求已完成 fn.call(this, obj.responseText); //从服务器获得数据  } }; obj.send(null); }, post: function (url, data, fn) { var obj = new XMLHttpRequest(); obj.open("POST", url, true); obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // 发送信息至服务器时内容编码类型 obj.onreadystatechange = function () { if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) { // 304未修改 fn.call(this, obj.responseText); } }; obj.send(data); } }

注释:

a.open() 方法需要三个参数:

 第一个参数定义发送请求所使用的方法(GET 还是 POST)。与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

 第二个参数规定服务器端脚本的 URL(该文件可以是任何类型的文件,比如 .txt 和 .xml,或者服务器脚本文件,比如 .asp 和 .php (在传回响应之前,能够在服务器上执行任务))。

 第三个参数规定应当对请求进行异步地处理(true(异步)或 false(同步))。

b.send() 方法可将请求送往服务器。

c.onreadystatechange 属性存有处理服务器响应的函数。

d.readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。

2.jq方式实现Ajax方法:

$(document).ready(function(){ $("#search").click(function(){ $.ajax({ type: "GET",     url: "http://127.0.0.1:8080/ajaxdemo/serverjson2.php?number=" + $("#keyword").val(), dataType: "json", success: function(data) { if (data.success) { $("#searchResult").html(data.msg); } else { $("#searchResult").html("出现错误:" + data.msg); } }, error: function(jqXHR){ alert("发生错误:" + jqXHR.status); }, }); }); $("#save").click(function(){ $.ajax({ type: "POST", url: "serverjson.php", data: { name: $("#staffName").val(), number: $("#staffNumber").val(), sex: $("#staffSex").val(), job: $("#staffJob").val() }, dataType: "json", success: function(data){ if (data.success) { $("#createResult").html(data.msg); } else { $("#createResult").html("出现错误:" + data.msg); } }, error: function(jqXHR){ alert("发生错误:" + jqXHR.status); }, }); }); });

注:

type:类型,“POST”或者“GET”,默认为“GET”
url:发送请求的地址
data:是一个对象连同请求发送到服务器的数据
dataType:预期服务器返回的数据类型。如果不指定,jQuery将自动根据包含HTTP包MIME信息来智能判断,一般我们采用json格式,可以设置为“json”
success:是一个方法,请求成功后的回掉函数。传入返回后的数据,以及包含成功代码的字符串
error:是一个方法,请求失败时调用此函数。传入XMLHttpRequest对象

转载于:https://www.cnblogs.com/rushjs/p/7094621.html

原生及jq方式使用ajax相关推荐

  1. Ajax和JSON-学习笔记01【原生JS方式实现Ajax】

    Java后端 学习路线 笔记汇总表[黑马程序员] Ajax和JSON-学习笔记01[原生JS方式实现Ajax] Ajax和JSON-学习笔记02[JQuery方式实现Ajax] Ajax和JSON-学 ...

  2. 原生js获取html元素属性,JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性)...

    JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性) 以下内容: 一.获取元素的属性 二.设置元素的属性 三.删除元素的属性 一.获取元素的属性 1-原生JS 获取属性 .ge ...

  3. jq ajax请求php原声,原生JS与jQuery对AJAX的实现

    原生JS与jQuery对AJAX的实现 一.定义 W3C里这么解释AJAX: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). ...

  4. jQuery学习第三天(插件库、引入页面、jQ中的ajax)

    插件库 superSlide.swiper 轮播图插件的网站,有说明书 jQ入口函数 $(document).ready(function(){}) 简写:$(function(){}); 与原生js ...

  5. Ajax和JSON-学习笔记02【JQuery方式实现Ajax】

    Java后端 学习路线 笔记汇总表[黑马程序员] Ajax和JSON-学习笔记01[原生JS方式实现Ajax] Ajax和JSON-学习笔记02[JQuery方式实现Ajax] Ajax和JSON-学 ...

  6. js 原生将元素插入到父元素首位,jquery和原生两种方式

    一般来说我们新加的元素会放置到父元素的首位   但也有放到首位的那种可能,每次追加元素 放到最前面 业务还是有这种需求的  可能 用jquery的童鞋 会对 append 这个方法很熟悉 当然 用框架 ...

  7. 使用axios方式实现Ajax请求

    项目已开源至gitee:https://gitee.com/guo-qianliang/es6-vue-node.js 项目已开源至github:https://github.com/Guoqianl ...

  8. Android原生定位实现方式

    Android原生定位实现方式 1.Appium+MuMu模拟器实现 2.uiautomatorviewer.bat+MuMu模拟器实现 3.weditor+MuMu模拟器实现 4.weditor+真 ...

  9. 042原生的自引用方式实现多级数据渲染

    042原生的自引用方式实现多级数据渲染 给组件新增一个name属性name: 'Tree'; 组件内引用自身 <Tree v-if="item &&item.id &a ...

最新文章

  1. 资源 | 2018年值得关注的200场机器学习会议(建议收藏)
  2. 项目进度管理和项目成本管理作业
  3. Java基础-集合:set
  4. hashcode、equals和==简单总结
  5. ubuntu LAMP安装
  6. 【团队】 冲刺一(9/10)
  7. java访问控制度_菜鸡的Java笔记 - java 访问控制权限
  8. [转载] LinkedIn架构这十年
  9. 5.OD-条件断点、条件记录断点
  10. oracle 动态游标行数,oracle动态游标的简单实现方法
  11. java 6 update 3_Java(TM) 6 Update(java运行环境) V 6.0.450.6 官方版
  12. ucosii中消息队列、消息邮箱、信号量的区别
  13. React开发(123):ant design学习指南
  14. 轨道病害视觉检测:背景、方法与趋势
  15. bzoj 5029 poj 2528 nyoj 1009: 贴小广告(线段树)
  16. linux编写脚本的基本方法
  17. JAVA项目管理ppt_【干货】超实用项目管理ppt项目管理ppt
  18. JAVA设计模式征服之路-00-设计模式简介
  19. 单片机断电记忆方法C语言,怎样使单片机程序断电保留上次的数据?
  20. 《信号与系统》(吴京)部分课后习题答案与解析——第三章(连续LTI系统的时域分析)

热门文章

  1. RoRoWoBlog 开源博客系统介绍
  2. koa --- nunjucks在Koa中的使用、中间件的配置
  3. 部署项目的问题(三)—— node启动服务时listen监听的端口被占用
  4. spark 免密码登录- ssh 指定非22端口
  5. 解析发展方向,定格人生道路
  6. 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——02-04项目范围(Scope)管理...
  7. 火狐、IE浏览器实现Extjs的grid表格的复制、粘贴
  8. 新浪微博2-找到用户的accessToken
  9. IDC机房KVM应用案例分析
  10. SUSE中LVM的使用心得