ajax拼接显示不同样式,Ajax重点整理

Ajax工作流程

Ajax:在不刷新页面的情况下向服务器请求数据

1.创建XMLHttpRequest对象(俗称小黄人)

var xhr = new XMLHttpRequest();

XMLHttpRequest : http请求对象,负责实现ajax技术

2.设置请求

xhr.open('get', 'url');

url:服务器地址

3.发送请求

xhr.send();

4.注册回调函数

xhr.onload = function () {

console.log(xhr.responseText);

}

xhr.responseText:请求返回的内容

这个函数不是立即执行的,而是等服务器把数据响应返回才会执行(PS:什么时候执行取决于你的网速快慢)

get请求

案例:英雄外号

接口文档:查询英雄外号

请求地址:https://autumnfish.cn/api/hero/simple

请求方法:get

请求参数:name

1.get传参格式:url?key=value

2.示例: https://autumnfish.cn/api/hero/simple?name=亚索

Documenttitle>

text-align: center;

}

.name {

color: deepskyblue;

}

.title {

color: red;

}style>

head>

英雄查询h1>

span>---span>h2>

body>

html>

/*

- 请求地址:https://autumnfish.cn/api/hero/simple

- 请求方法:get

- 请求参数:name

- 响应内容:英雄外号

*/

/*思路分析

1.给search按钮注册点击事件

2.获取hero输入框文本

3.通过ajax调用接口:参数为输入框文本

4.数据返回之后显示到title标签中

*/

//1.注册点击事件

$('.search').on('click', function () {

//2.获取输入框文本

var heroName = $('.hero').val();

//3.ajax请求数据

//(1).实例化ajax对象

var xhr = new XMLHttpRequest();

//(2).设置请求方法和地址

//get请求的数据直接添加在url的后面 格式是 url?key=value

xhr.open('get', 'https://autumnfish.cn/api/hero/simple?name=' + heroName);

//(3).发送请求

xhr.send();

//(4).注册回调函数

xhr.onload = function() {

$('.title').text(heroName + ':' + xhr.responseText);

};

});script>

post请求

案例:用户注册

请求地址:https://autumnfish.cn/api/user/register

请求方法:post

请求参数:username

post请求:

1.需要设置请求头(固定语法):xhr.setRequestHeader(‘Content-type’,‘application/x-www-form-urlencoded’)

* 注意:这是固定格式,错一个字母都不行,强烈建议复制粘贴

2.使用xhr的send方法发送参数: xhr.send(‘参数名=参数值’);

* 注意:不要加前面的?

Documenttitle>

color: red;

}style>

head>

用户注册h2>

span>


body>

html>

/*

请求方法get和post区别: 传参方式不同

get请求: 直接在url后面拼接参数

* 参数在url中,安全性不高

post请求:

1.需要设置请求头(固定语法):xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded')

* 注意:这是固定格式,错一个字母都不行,强烈建议复制粘贴

2.使用xhr的send方法发送参数: xhr.send('参数名=参数值');

* 注意:不要加前面的?

*/

/*

用户注册

- 请求地址:https://autumnfish.cn/api/user/register

- 请求方法:post

- 请求参数:username

1. 注册点击事件 : submit

2. 获取输入框文本:username

3. 通过ajax调用接口:参数为输入框文本

4. 数据返回之后显示到info中

*/

$(function () {

//1.注册点击事件

$('.submit').on('click', function () {

//2.获取输入框文本

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

//3.ajax发送请求

//(1).实例化ajax对象

var xhr = new XMLHttpRequest();

//(2).设置请求方法和地址

xhr.open('post', 'https://autumnfish.cn/api/user/register');

//(3).设置请求头(post请求才需要设置)

xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');

//(4).发送请求 : 参数格式 'key=value'

xhr.send('username=' + username);

//(5).注册回调函数

xhr.onload = function () {

$('.info').text(xhr.responseText);

};

});

});script>

请求方法get和post区别

传参方式不同

get请求:

直接在url后面拼接参数

* 参数在url中,安全性不高

post请求:

1.需要设置请求头(固定语法):xhr.setRequestHeader(‘Content-type’,‘application/x-www-form-urlencoded’)

* 注意:这是固定格式,错一个字母都不行,强烈建议复制粘贴

2.使用xhr的send方法发送参数: xhr.send(‘参数名=参数值’);

* 注意:不要加前面的?

JSON数据格式解析

JSON格式

通用的数据格式,很多语言都支持,不同语言中解析他的方式不同

js中对应JSON的使用 2个方法

JSON是一种数据格式,本质是字符串 作用: 解决跨平台的问题,一般服务器返回的数据都是json格式

JSON格式特点 a. 属性名和属性值都是字符串(需要使用双引号包括)

b. 如果属性值是布尔类型和数字类型,则可以省略字符串

.JSON格式与JS对象互转

JSON->JS : JSON.parse(json数据)

JS->JSON :JSON.stringify(js对象)

模板引擎art-template

模板引擎art-template使用流程

1.导入模板引擎art-template.js文件

2.写HTML模板

模板写到script标签中

必须要设置id

必须要设置type(一般为 type=“text/html”)

3.调用art-template的官方API开始解析模板

var htmlStr = template('tpl', jsonObj.data);

第一个参数: html模板的id名

第二个参数: 要渲染的数据

返回值: 渲染数据之后的html字符串

4.将解析好的模板显示到页面

document.body.innerHTML = htmlStr;

模板引擎语法介绍

输出

标准语法

{{value}}

{{data.key}}

{{data['key']}}

{{a ? b : c}}

{{a || b}}

{{a + b}}

原始语法

条件

标准语法

{{if value}} ... {{/if}}

{{if v1}} ... {{else if v2}} ... {{/if}}

原始语法

...

... ...

循环

标准语法

{{each target}}

{{$index}} {{$value}}

{{/each}}

原始语法

ajax 项目经验总结

1.模板引擎支持字符串的方法 indexOf() split()

2.如果一段代码在多个地方执行,可以使用函数封装

可以自己写一个函数封装

事件本事就是一种函数封装,可以主动触发事件

$().click

$().trigger(‘click’)

3.loading加载效果

布局思路:使用gif动图实现

实现思路:ajax之前出现 ajax响应后消失

4.模板引擎的数据可以是ajax响应返回的,也可以是自己写的

5.模板引擎的数据并不是全部都是替换操作html() , 也有可能是append()添加操作。取决于需求

6.非空判断与文本清空

非空判断:ajax发送之前

文本清空:ajax发送之后

7.文件预览(固定方式)

5dff82f322854247945053f1cc49ba83.jpg

8.文件上传(固定方式)

d8e8b684f651441a8004c60c78e7ff21.jpg

9.页面间传值

sessionStorage :适合传多个数据

window.location.href:适合传少量数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395897.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java与mysql的交互_java与数据库交互常用到的一些方法

下面我整理了一下java中常用的几个与数据库交互的常用方法,仅供参考:1.执行SQL(dao层的实现类中)(1)SQL查询://import org.hibernate.Query;//import org.hibernate.Session;/*** 通过名称查找id*parampsname*returnid*/OverridepublicString…

xbmc电脑版本和手机版本学习教程

XBMC改名为Kodi了,IOS系统,Cydia源地址也同样发生了变化,新的源是:http://mirrors.kodi.tv/apt/ios/先了解一下几点知识: 教程中的各项操作,默认起始点都是“主界面”或“各分类菜单(视频、音乐…

线程管理(七)守护线程的创建和运行

声明:本文是《 Java 7 Concurrency Cookbook 》的第一章, 作者: Javier Fernndez Gonzlez 译者:郑玉婷 校对:方腾飞 守护线程的创建和运行 Java有一种特别的线程叫做守护线程。这种线程的优先级非常低,通常…

vue2中的keep-alive使用总结及注意事项

问题总结;最近在写vue移动端的项目的时候,当我切换菜单,再切换换回去的时候,发现页面出现闪动的效果,其原因是因为切换回去之后,页面重新渲染了;为了解决这一问题:查阅资料,只需要在 入口文件 App.vue 的router-view外层包裹一个keep-active标签,表示该组件被保存在内存中,不需…

grove 套件_如何通过使用Andy Grove的High Leverage Activities加快发展?

grove 套件by Guido Schmitz由Guido Schmitz 如何通过使用Andy Grove的High Leverage Activities加快发展? (How to speed up your development by using Andy Grove’s High Leverage Activities ?) Youre constantly building on new features, fixing new bugs…

ajax php 观察者模式,JavaScript观察者模式定义和dom事件实例详解

观察者模式(发布-订阅模式):其定义对象间一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。在JavaScript中,一般使用事件模型来替代传统的观察者模式。好处:(1)可广泛应用于异步编程…

python中代码段的标志是什么车_请问这段Python代码是什么意思?

ord(p) - ord(a)这个意思是以 a 为序号0,计算字符p的序号。在ASCII字符集中,小写字母a-z是连续排列的,因此如果a是0的话,那么b就是1,c就是2……以此类推。ord(p) - ord(a) 3前面一段我们解释过了,那么这一…

servlet和jsp页面过滤器Filter的作用及配置

刚刚有个朋友问我,Servlet的过滤器有什么作用? 现在发个帖子说明一下, 过滤器是一个对象,可以传输请求或修改响应。它可以在请求到达Servlet/JSP之前对其进行预处理,而且能够在响应离开Servlet /JSP之后对其…

tar命令速查

tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要…

附005.Docker Compose文件详解

一 Docker Compose文件简介 compose文件使用yml格式,主要分为了四个区域:version:用于指定当前docker-compose.yml语法遵循哪个版本services:服务,在它下面可以定义应用需要的一些服务,每个服务都有自己的名…

如何使用TensorFlow构建简单的图像识别系统(第2部分)

by Wolfgang Beyer沃尔夫冈拜尔(Wolfgang Beyer) 如何使用TensorFlow构建简单的图像识别系统(第2部分) (How to Build a Simple Image Recognition System with TensorFlow (Part 2)) This is the second part of my introduction to building an image recognition system wi…

网站 服务器 用sqlite,sqlite服务器数据库

sqlite服务器数据库 内容精选换一换简要介绍SQLite是一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少,不仅支持标准的SQL语法,还遵循了数据库的ACID事务。编写语言:C一句话概述:轻量级的关系型数…

type-c接口图片_TypeC接口除了充电还能干吗?这些功能都不知道,简直是在浪费...

Type C手机接口相信每个使用智能手机的朋友都很熟悉,目前已经广泛使用在智能手机领域,并且得到用户一致好评。但是对于Type C接口真正的用处很少有人知道,大部分用户只了解正反面都可充电,其他方面一概不知,对于这一点…

Zookeeper的api的简单使用(转载)

转载自: http://www.cnblogs.com/sunddenly/p/4031881.html 1.API 2.API 示例 ZooKeeper中的组成员关系 理解ZooKeeper的一种方法就是将其看作一个具有高可用性的文件系统。但这个文件系统中没有文件和目录,而是统一使用“节点”(node)的概念,称为znode…

必须使用301重定向的运用场景

必须使用301重定向的运用场景

1.1好素数

题目 题意:一个好素数的定义是,他是一个素数,然后他的左右两边10区间内存在素数,那么他就是好素数,现在让你输入一个数字,这个数字以内的好素数的数量。 解题方法:先把每一个数字是不是素数判断…

jquery.vue.js_一个Vue.js简介,面向只了解jQuery的人

jquery.vue.jsby Matt Rothenberg马特罗森伯格(Matt Rothenberg) 一个Vue.js简介,面向只了解jQuery的人 (A Vue.js introduction for people who know just enough jQuery to get by) I’ve had a love-hate relationship with JavaScript for years.我与JavaScrip…

python 矩阵获取行数_4个最佳项目创意的代码片段和示例,旨在为Python和机器学习构建出色的简历!...

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达一篇文章带你了解4个最佳项目创意的代码片段和示例Python是一种特殊的编程语言,适用于从初学者到中级用户。由于它的灵活性,它正逐渐成为一种非常流…

Android 多状态加载布局的开发 Tips

2019独角兽企业重金招聘Python工程师标准>>> 什么是多状态 Layout 对于大多数 App 而言,项目中都有多状态加载 View 这种需求,如下图所示。 对应到开发中,我们通常会开发一个对应的自定义 layout 用于根据页面不同的状态来显示不同…

XML解析之JAXP案例详解

根据一个CRUD的案例&#xff0c;对JAXP解析xml技术&#xff0c;进行详细的解释&#xff1a; 首先&#xff0c;已知一个xml文件中的数据如下&#xff1a; <?xml version"1.0" encoding"UTF-8" standalone"no"?> <书架><书 出版社…