”呼叫后台,我要数据,快给我数据“霸道的ajax说

对前端工程师来说,ajax这么个大招一定得点满啊,对开发绝对是超有用的。

能够无刷新的部分更新页面的数据,这么逆天的技能属性可是能实现出很多很酷炫的交互效果的。

然而虽然是很厉害,但其实ajax实现的原理并不会很复杂的,基本上利用ajax实现出一个效果主要都是要经过这两个步骤:

1 通过HTTP请求,获取数据或者提交数据。

2 取得响应数据,对响应数据操作。

对数据的操作一般都是通过dom来完成,这里不再多赘述,我们来看一下ajax是如何请求到数据或着发送数据的吧。

function ajax(method, url, data, success) {
    var xhr = null;
    try {
        xhr = new XMLHttpRequest();//new一个xhr对象,这个对象像信使一样存在着
    } catch (e) {
        xhr = new ActiveXObject(‘Microsoft.XMLHTTP‘);//为了兼容IE6
    }
    //如果是get请求,而且data存在,则是要通过get请求发送数据,通过get请求发送数据,数据会被链接到请求地址之后
    if (method == ‘get‘ && data) {
        url += ‘?‘ + data;
    }
    //初始化请求,method表示请求方式,url是请求地址,true表示异步
    xhr.open(method,url,true);
    if (method == ‘get‘) {
        xhr.send();//发送请求
    } else {
        xhr.setRequestHeader(‘content-type‘, ‘application/x-www-form-urlencoded‘);//post方式,需要设置请求头
        xhr.send(data);//发送提交数据
    }

    xhr.onreadystatechange = function() {

        if ( xhr.readyState == 4 ) {//4是请求最后的阶段,
            //http状态码,2开头便是还请求成功
            if ( xhr.status == 200 ) {
                success && success(xhr.responseText);//在这里判断一下,如果success存在,则执行它,将响应数据作为参数传入回调函数
            } else {
                alert(‘出错了,Err:‘ + xhr.status);
            }
        }

    }
}

这就是一个还算挺完整的从数据请求到获取的过程了,我们如何使用取得到的数据呢?

一段小代码说明一下:

ajax("get","***.php",null,function(data)
        {
            var data=JSON.parse(data);//通过xhr.responseText取得的数据是字符串格式的,需要解析成json对象

            for(var i=0;i<data.length;i++){
            ...
            }

            ...

        });

get和post:

1.get请求需注意缓存问题,post请求不需担心这个问题

2.post请求必须设置Content-Type值为application/x-form-www-urlencoded

3 Get请求的目的是给予服务器一些参数,以便从服务器获取列表.例如:list.aspx?page=1,表示获取第一页的数据

Post请求的目的是向服务器发送一些参数,例如form中的内容.

时间: 2024-12-17 19:40:50

”呼叫后台,我要数据,快给我数据“霸道的ajax说的相关文章

用ajax获取后台数据,返回json数据,怎么在前台使用?

用ajax获取后台数据,返回json数据,怎么在前台使用呢? 后台 C# code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == "SearchCustomer")                 {                     int ID;                     if (Int32.TryParse(CustomerID, out ID))                     {    

springmvc 后台向页面EasyUI的Datagrid传递数据(JSon格式)

===============EasyUIDatagrid 分页==================== EasyUIDatagrid 需要提供的JSon格式为:total和rows,所以我们只需要在后台中返回一个JSon格式为total和rows //定义一个EasyUIDatagridResult 类来包装JSon数据 public class EasyUIDatagridResult { private long total;  //返回JSon中的total值 private List<

EF5(7) 后台使用SelectListItem传值给前台显示Select下拉框;mvc后台Action接收浏览器传值的4种方式; 后台Action向前台View视图传递数据的四种方式

一:后台使用SelectListItem 传值给前台显示Select下拉框 我们先来看数据库的订单表,里面有3条订单,他们的用户id对应了 UserInfo用户表的数据,现在我们要做的是添加一个Order控制器,显示订单列表,并且在修改订单的时候,把用户的id 用 select 下拉框显示出来,并且可以提交修改数据   1.1 我们通过比较原始的方法,来把数据 传递到前台后,前台使用  循环来显示 select 并且显示是哪个元素被选中 我们在前台的cshtml中,使用 @model 命令 指定

大快DKH大数据基础服务平台监控参数说明(附图文)

标题:DKhadoop大数据处理平台监控数据介绍2018年国内大数据公司50强榜单排名已经公布了出来,大快以黑马之姿闯入50强,并摘得多项桂冠.Hanlp自然语言处理技术也荣膺了"2018中国数据星技术"奖.对这份榜单感兴趣的可以找一下看看.本篇承接上一篇<DKM平台监控参数说明>,继续就大快的大数据一体化处理架构中的平台监控参数进行介绍和说明.DKhadoop大数据处理平台架构的安装相关文章已经分享过,详细的内容可以找一下看看.在上一篇中已经就集群平均负载.集群磁盘使用情

HBuilder后台保活开发(后台自动运行,定期记录定位数据)

http://ask.dcloud.net.cn/question/28090 后台自动运行,定期记录定位数据 分类:HTML5+ 各位新年好 小弟以前用hbuilder开发过几个项目,现在有一新需求项目,在考虑是否使用它来实现: 需要APP在后台能定期离线监控用户定位数据,使用的是百度地图,我已经知道可以离线获取定位信息,但不知道如何能后台运行(APP不关闭,切换到后台,或者熄屏后它能继续运行),在后台定期(如20分钟)获取用户当前的位置,并记录在本地(如localstorage),然后上线时

C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)

转自原文C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子) 阅读目录 1.HtmlAgilityPack简介 2.XPath技术介绍与使用 3.采集天气网站案例 4.资源 第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel,是真尼玛的累,虽然那个时候C#还很菜,也想能不能通过程序来批量获取(所以平时想法要多才好).几

第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析

前言 上篇文章中讲到,在智能电网的控制与管理侧中,数据的分析和挖掘.可视化等工作属于核心环节.除此之外,二次侧中需要对数据进行采集,数据共享平台的搭建显然也涉及到数据的管理.那么在智能电网领域中,数据工程到底是如何实施的呢? 本文将以IBM的Itelligent Utility Network产品为例阐述智能电网中的数据工程,它是IBM声称传统电网向智能电网转变的整体方案(看过上篇文章的童鞋想必会清楚这样的说法是片面狭隘的,它只能算是智能电网中的数据工程). 另一方面,如今是一个数据爆炸的时代,

iOS之网络数据下载和Json数据解析

iOS之网络数据下载和Json数据解析 简介 在本文中笔者将要给大家介绍iOS中如何利用NSURLConnection从网络上下载数据,如何解析下载下来的JSON数据,以及如何显示数据和图片的异步下载显示 涉及到的知识点: 1.NSURLConnection异步下载封装 2.JSON格式和JSON格式解析 3.数据显示和使用SDWebImage异步显示图片 内容 1.网络下载基础知识介绍 (1)什么是网络应用? 一般情况下, iPhone的计算机, 照相机不需要从网络上下载数据也能运行, 所以这

Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户

你正在使用过时的浏览器,Amaze UI 暂不支持. 请 升级浏览器 以获得更好的体验! 深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:14:39 作者:陈飚 “昔我十年前,与君始相识.” 一瞬间Hadoop也到了要初中择校的年龄了. 十年前还没有Hadoop,几年前国内IT圈里还不知道什么是Hadoop,而现在几乎所有大型企业的IT系统中有已经有了Hadoop的集群在运行了各式各样的任务. 2006年项目成立的一开始,“Hadoop”这个单