JavaScript 原生Ajax

js原生的ajax,主要是做前后端分离项目,请求API (程序应用级 接口)

  • 调用的结果:后台数据返回
  • 跨域原理(为什么会有跨域) : cros jsonp
  • 异步请求 局部刷新技术—朋友圈评论 点赞
  • 对象: XMLHttpRequest
  • 状态码 : 200 成功 ; 404 丢失 ;500服务器
  • 提供API:open 建立服务器之间的链接 参数1:请求的方式 get post 参数2:api路径 参数3:async true/false 用户名和密码
  • send() 向服务器发送请求
  • Ajax写法
// An highlighted block
<script>//1.建立ajax对象var http=new XMLHttpRequest();//2.建立服务器链接http.open("get","");//第三个参数不写默认异步请求//3.发送请求http.send();//4.建立ajax事件http.onreadystatechange=function (){//readyState  4 请求读取完成//status  响应的状态码  200  500if(http.readyState==4&&http.status==200){//5.渲染界面http.responseText  http.response    json//http.responseText}}
</script>
  • Ajax封装
// An highlighted block
<script>function method(med, api, async, data, callback) {var http = new XMLHttpRequest();if (med == "get") {if (data) {api += "?";api += data;}http.open(med, api, async);http.send();}else {http.open(med, api, async);if (data) {http.send(data);}else {http.send();}}http.onreadystatechange = function () {if (http.readyState == 4 && http.status == 200) {callback(http.response);}}}//192.168.90.1/sue/php/read.php   读数据//192.168.90.1/sue/php/userLogin.php  用户登录   111  112method("get", "http://www.maodou.com/sue/php/userLogin.php", true, "userid=111&userpwd=112", function (result) {if (JSON.parse(result)[0].count == 1) {alert("登录成功!")}});
</script>
  • Ajax 跨域
    协议不同、端口不同、主机名称不同

    • 解决跨域(跨域资源共享)
    • 报错:Access-Control-Allow-Origin 出现跨域访问
    • cros :在后端配置cros跨域请求
    • jsonp : 跨域原理是通过src + callback回调函数来请求 —不是ajax
// An highlighted block
<script>function method(med, api, async, data, callback) {var http = new XMLHttpRequest();if (med == "get") {if (data) {api += "?";api += data;}http.open(med, api, async);//http.setRequestHeader("header","Access-Control-Allow-Origin:*");//http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");http.send();}else {http.open(med, api, async);if (data) {http.send(data);}else {http.send();}}http.onreadystatechange = function () {if (http.readyState == 4 && http.status == 200) {callback(http.response);}}}
</script>

JavaScript 原生Ajax相关推荐

  1. JavaScript原生Ajax

    Ajax请求 一.创建XHR 1.在IE7及其更高的版本中: var xhr = new XMLHttpRequst(); 2.在IE7之前的的版本中使用createXHR函数根据IE中可用的MSXM ...

  2. php原生的异步请求,原生JavaScript实现Ajax异步请求

    ajax现在是一种非常流行的技术,现在虽然可以利用JQuery或者一些第三方插件甚至微软提供的一些控件可以方面的实现ajax功能,但是明白其原理也是非常重要的,下面是来使用纯javascript实现获 ...

  3. 使用原生javascript实现ajax提交form表单

    使用原生javascript实现ajax提交form表单 ============================ 1 准备表单        首先我们需要编写一个html代码,这里我是采用nodej ...

  4. JavaWeb 第6章 Ajax 与 JQuery 任务1:使用原生 JavaScript 发送 Ajax请求

    JavaWeb 应用设计及实战 目录 上一章  下一章 上一个任务/上一节       下一个任务/下一节 实例链接  点我 目录 任务1  使用原生 JavaScript 发送 Ajax 请求 6. ...

  5. php通过js发送请求数据,使用原生javascript发送ajax请求数据的步骤

    注:请求地址是自己的项目地址,请自行更改.这只是一个简单的原生XMLHttpRequst的使用,之后会发如何封装原生ajax实现jequery的ajax 第一步:创建xhr对象.const xhr = ...

  6. Ajax→异步的JavaScript和XML、HTTP请求响应、Ajax简介同步异步、XMLHttpRequest类的方法及属性、原生Ajax、Koa实现Ajax、接口文档、浏览器同源策略、反向代理

    浏览器服务器 HTTP请求响应 数据库后端语言 Ajax简介同步异步 Koa前端框架 XMLHttpRequest类的方法及属性 原生Ajax Koa实现Ajax JSON DOM 接口文档 浏览器同 ...

  7. ajax不执行_好程序员Java学习路线分享原生Ajax的使用

    好程序员Java学习路线分享原生Ajax的使用,首先我们先来看一下什么是 AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX 就是 异步.JavaScript ...

  8. 对原生ajax的理解

    $.ajax({url:'',//请求文件路径type:'',//请求方式GET POSTdata:{},//要发给服务器的数据参数dataType:'',//希望接口返回的数据格式json,stri ...

  9. .ajax get 写法,原生Ajax写法(GET)

    ajax的GET提交方式的原生代码: var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else if(w ...

  10. Django学习---原生ajax

    Ajax 原生ajax Ajax主要就是使用 [XmlHttpRequest]对象来完成请求的操作,该对象在主流浏览器中均存在(除早起的IE),Ajax首次出现IE5.5中存在(ActiveX控件). ...

最新文章

  1. 大数据分析工资单:六大行员工再涨薪 人均年薪超26万
  2. Q2财报凸显“服务”,“巨人”百度正在转身
  3. apache下php无法连接mysql问题的解决
  4. python中的成员运算符是干嘛的_在Python中使用成员运算符的示例
  5. kotlin中mainactivity无法直接调用xml中的控件_使用Kotlin高效地开发Android App(一)
  6. 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——支持多种数据库。让分页更加简单。...
  7. 系统学习机器学习之随机场(五)--CRF++源码L-BFGS算法补充
  8. 查询sql 语句的好坏
  9. 交换机的源地址学习机制和帧转发方式习题
  10. 浅谈AQS同步队列(含ReentrantLock加锁和解锁源码分析)
  11. 手机基于蓝牙JDY-31蓝牙模块与52单片机串口通信
  12. 浙江理工大学本科毕业答辩beamer模板
  13. 剑指Offe面试题:用两个栈实现队列
  14. ios 代码例子 卷边的翻书效果
  15. C语言编程学习制作最好玩的报数游戏
  16. Matplot X轴,Y轴最大值限定(固定X轴、Y轴的范围)
  17. svn项目迁移后服务器up报错:E155036 的处理方法
  18. 路由器测试的类型和方法[转]
  19. 输入法编程相关资源汇集-欢迎补充
  20. java反射各种属性获取

热门文章

  1. 计算机辅助园林设计考试题,计算机辅助园林规划设计之软件比较
  2. Stereoscopic Player播放器的控制
  3. 使用Foxmail登录阿里企业邮箱(钉钉邮箱)
  4. 如何用UE4制作2D游戏文档(五)——战斗篇
  5. 草料二维码 批量生成二维码
  6. js分割字符串变成数组
  7. 如何提高意志力如何坚持每天学习
  8. 2500个常用汉字列表
  9. 微信开发者工具及其文档
  10. Android Studio4.0解决Gradle下载超时问题