var data;
//1、创建AJAX实例
var xhr = new XMLHttpRequest();
//2、打开一个路径:请求方式,请求路径,同异步(false:同步;true:异步)
xhr.open("get","path",false);
//3、监听状态
xhr.onreadystatechange = function(){//如果状态是4,并且xhr.status状态码是以2开头的,表示数据已经请求成if(xhr.readyState===4&&/^2\d{2}/.test(xhr.status)){data = xhr.responseText;}
}
//4、发送请求
xhr.send();

通过AJAX获取的数据是JSON格式的字符串,需要通过JSON.parse()方法将JSON字符串转换为JSON对象。

  • json是一种数据格式,不是数据类型
  • json格式的对象属性名必须使用双引号括起来,不能用单引号括起来,因为通过JSON.parse将该字符串转换为对象时会报错
var obj = {"a":1};//json格式的对象
var str = '{"a":1}';//json格式的字符串
//----------------------//
var obj = "{'a':1}";
console.log(JSON.parse(obj));//Uncaught SyntaxError: Unexpected token ' in JSON at position 1 at JSON.parse (<anonymous>)
  • JSON是window下的一个属性名,它的属性值是一个对象。存在两个方法

    • JSON.parse()将json格式的字符串转化为json格式的对象
    • JSON.stringify()将json格式的对象(普通对象也可以)转换为json格式的字符串

注意: 利用JSON的这两个方法可以实现深克隆,但是这种克隆存在缺陷,因为它只能克隆比较简单的对象,当对象的属性值是函数或是undefined时不能进行克隆

var obj = {a:1,b:{c:2}};
var newObj = {};
// 利用循环克隆对象是浅克隆,因为在改变一个一个对象的值时另一个对象的值可能修改
for(var key in obj){newObj[key] = obj[key];
}
console.log(newObj);//{a:1,b:{c:2}}
obj.b.c = 100;
console.log(newObj);//{a:1,b:{c:100}}
// 对对象进行深克隆:当改变原有对象的值时,不会影响新克隆的对象;新对象中的空间地址和原来指向不同的地址空间
var newObj = JSON.parse(JSON.stringify(obj));
var obj9 = {a:1,b:undefined,c:null,d:function(){}};
var obj8 = JSON.parse(JSON.stringify(obj9));
console.log(obj8);//{a: 1, c: null}

js通过AJAX绑定数据四部曲相关推荐

  1. ajax绑值,vue.js使用ajax绑定数据之post方法

    [HTML] 纯文本查看 复制代码 发送AJAX请求 window.οnlοad=function(){ new Vue({ el:'#itany', data:{ user:{ name:'alic ...

  2. Python调用,爬虫JS逆向——ajax类型数据,数据加密获取步骤和方法(二)

    Python调用,爬虫JS逆向--动态数据 JS逆向-ajax加密数据 加密数据是无法通过在后台找到接口进行请求来获取数据 目标网站:https://jzsc.mohurd.gov.cn/data/c ...

  3. 原生js实现双向绑定数据,实现前端提交到后台

    问题 项目开发遇到一个问题,就是在提交到后台的时候遇到一个请求甲方数据,来实现在添加数据的时候,将请求到甲方的数据展示在前端页面,让甲方看到他到底添加了哪些数据.因此,使用到了双向绑定,来显示弹框中我 ...

  4. Chart.js使用及ajax获取数据

    图表插件Chart.js使用 插件简介 安装 插件简介 chart.js是一个优秀的开源图表处理插件,内置条形,折现,雷达,时间刻度等等图表渲染. 安装 chart.js官网. 我这里使用2019年3 ...

  5. ajax (阿贾克斯)----------- js 向后端索要数据的方式(技术)

    ajax  + js 向后端索要数据的方式(技术) 基本步骤 1. 创建ajax 对象 const xhr = new XMLHttpRequest() 2. 配置本次的请求信息 xhr.open(请 ...

  6. D3.js系列——初步使用、选择元素与绑定数据

    D3 的全称是(Data-Driven Documents),顾名思义可以知道是一个被数据驱动的文档.听名字有点抽象,说简单一点,其实就是一个 JavaScript 的函数库,使用它主要是用来做数据可 ...

  7. php js获取表单内容,jquery form表单获取内容以及绑定数据_javascript技巧

    在日常开发的过程中,难免会用到form表单,我们需要获取表单的数据保存到数据库,或者拿到后台的一串json数据,要将数据绑定到form表单上,这里我写了一个基于jquery的,formHelp插件,使 ...

  8. JS实现的ajax发送数据重复

    最近在做一个网页聊天室,但是在用ajax实现异步处理的时候,向服务器发送数据发送了两次,导致,我说一句会有两句回复. 先来看一下代码,问题主要还是出现在前端: <form id="da ...

  9. d3.js中选择元素和绑定数据

    回顾一下如何选择元素 在 D3 中,用于选择元素的函数有两个: d3.select():是选择所有指定元素的第一个 d3.selectAll():是选择指定元素的全部 这两个函数返回的结果称为选择集. ...

最新文章

  1. 能说明白为啥三次握手的文章节选
  2. Delphi CxGrid 汇总(3)
  3. java线程详解_Java线程详解
  4. 通过Spannable对象设置textview的样式
  5. 最热web前端技术精粹
  6. Atitit.软件兼容性原理与实践   v5 qa2.docx
  7. suse linux11安装 dhcp,Suse Linux DHCP的设定过程
  8. Exsi主机判断UPS状态自动进行关机
  9. 苹果计算机磁盘格式,苹果电脑上怎么进行格式化磁盘?
  10. STM32F407 USB CDC调试与经验总结
  11. 节选自周国平《风中的纸屑》里的一段话
  12. java编译器eclipse_Java 调用 Eclipse的编译器 JDT
  13. 浪漫的c语言表白代码1
  14. 新手期货开户的时候需要准备什么呢?
  15. SYN5301型 时间检定仪
  16. 产品架构能力之一 业务架构图
  17. 无功补偿的原理和形式
  18. 06.02、js之设置日期方法-年月日时分秒毫秒比较
  19. 中信银行面试前准备好多材料_面试准备帮助我在锁定期间获得了多个报价
  20. 下载工具MLDonkey的优化设置

热门文章

  1. ROS 控制实际工业机器人(Staubli tx90)(二)
  2. PMP考点梳理大全(考生必看)-6.5
  3. 【日常分享】知道手机号,如何查姓名?
  4. AMS1117-3.3
  5. 计算机病毒指的是什么及特性,什么是计算机病毒 什么是计算机病毒
  6. (function(){}())与(function(){})()的区别
  7. windows7 安装vs2008 sp1出错的解决办法
  8. OpenCV和关于VS平台的一些编程总结
  9. 你不知道的100个国外搜索引擎
  10. 什么是开源表单设计器?