html5 ajax数据显示,html5的ajax学习(二)

一、基础知识点

1.ajax可以做事情:局部刷新 浏览器搜索列表记录 加载更多的数据

2.登录页面同步网络请求:页面全部刷新,用户量大体验很不好

3.ajax的详解:ajax的get和post请求 同步还是异步,true为异步

ajax.open("get","login.php","true")

二、ajax的get和post请求

2.1 get和post请求

ajax的get异步请求

window.onload = function () {

var btn = document.getElementById('btn');

btn.onclick = function () {

//第一步

var ajax = null;

if(window.XMLHttpRequest){//标准浏览器

ajax = new XMLHttpRequest();

}else{//早期浏览器

ajax = new ActiveXObject('Microsoft.XMLHTTP');

}

var username = document.getElementById('username').value;

var password = document.getElementById('password').value;

//第二步

var geturl = 'open.php?username='+username+'&password='+password;

`post请求加入********`

//var posturl = 'open.php';

//ajax.open('post',posturl,true);

ajax.open('get',geturl,true); //第三步

`post请求加入********`

//ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

//var postParam = 'username='+username+'&password='+password;

//ajax.send(postParam);

ajax.send(null);

//第四步

ajax.onreadystatechange = function () {

if(ajax.readyState == 4){

if(ajax.state == 200){

var data = ajax.responseText;

console.log(data);

}

}

}

}

}

用户名:
密码:

2.2get和post请求区别

***get请求的拼接参数设置

var geturl = 'open.php?username='+username+'&password='+password;

ajax.open('get',geturl,true);

ajax.send(null);

***post请求的参数设置

var posturl = 'open.php';

ajax.open('post',posturl,true);

ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

var postParam = 'username='+username+'&password='+password;

ajax.send(postParam);

2.3后台的返回数据

//后台的数据

$username = $_GET['username'];

$password = $_GET['password'];

$username = $_POST['username'];

$password = $_POST['password'];

//返回的数据echo '用户名:'.$username.'密码:'.$password;

>

三、xml数据解析

3.1数据乱码的解决

var geturl = 'open.php?username='+username+'&password='+password;

变为

var geturl = 'open.php?username='+encodeURIComponent(username)+'&password='+password;

乱码一般是因为出现的中文数据。只需要将中文的数据的前面添加encodeURIComponent进行转码即可。

3.2xml数据解析

3

< xing/>

< xing >

4

数据解析

var data = ajax.responseText;

var bs = data.getElementsByTagName('xings')[0];

console.log(bs);

var xins = bs.getElementsByTagName('xing');

var tag = '';

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

var xing = xins[i];

var name = xing.getElementsByTagName('name')[0];

var desc = xing.getElementsByTagName('desc')[0];

tag += '

'+getNodeText(name)+''+getNodeText(desc)+',';

}

//展示数据

var tags = document.createElement('tags');

tags.innerHTML = tag;

四、json数据(标准的数据结构类型)解析

json的对象和json的字符串的区别

//json字符串

var str = '{"name":"三国","des":"文学"}';

//将字符串->json的对象

var data = JSON.parse(str);

//将json的对象->json字符串

var s = JSON.stringify(data);

//输出的内容为:{"name":"三国","des":"文学"}

console.log(str);

//输出的内容为:文学

console.log(data.des);

//输出的内容为:Object {name: "三国", des: "文学"}

console.log(data);

//输出的内容为:{"name":"三国","des":"文学"}

console.log(s);

4.1 JSON解析的实例讲解

json数据结构

d08e8091e92f

数据实例解析.png

效果图

d08e8091e92f

屏幕快照 2016-07-21 上午10.28.06.png

代码解析

快递

#divcss{

background-color: cornflowerblue;

width: 200px;

height: 200px;

position: relative;

margin-top: 100px;

margin-left: 400px;

}

window.onload = function () {

var btn = document.getElementById('btn');

btn.onclick = function () {

var code = document.getElementById('textfield').value;

//网络请求*******

var ajax = null;

ajax = new XMLHttpRequest();

var url = "https://www.baidu.com";

ajax.open('get',url,true);

ajax.send(nil);

ajax.onreadystatechange = function () {

if(ajax.status == 200&&ajax.readyState == 4){

alert("请求成功");

var data = JSON.parse(ajax.responseText);

if(data.status == 0){

var list = data.data.info.context;

var tag = "";

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

//获取model中的数据

var item = list[i];

var time = item.time;

var desc = item.desc;

var t = new Date();

t.setTime(time+'000');

var str = t.getFullYear()+'年'+(t.getMonth()+1)+'月'+t.getDay()+'日'+(t.getHours()>12?'下午':'上午')+t.getHours()%12+':'+t.getMinutes()+':'+t.getSeconds();

tag += '

'+str+'
'+desc+'
';

}

var ul = document.createElement('ul');

ul.innerHTML = tag;

document.getElementById('divcss').appendChild(ul); }

}

};

};

var ul = document.createElement('ul');

ul.innerHTML = "无数据内容";

document.getElementById('divcss').appendChild(ul);

alert(3);

}

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

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

相关文章

ISA Server服务器故障恢复一例系统盘符更换之后的应对方法

周四下午的时候&#xff0c;某政府信息中心领导打电话告诉我&#xff0c;ISA Server服务器不能开机了。随后公司的技术员到达现场&#xff0c;经过检查&#xff0c;发现服务器显卡损坏。在更换显卡后&#xff0c;服务器可以开机&#xff0c;但却不能进入系统—-服务器在经过BIO…

扩展Windows Mobile模拟器存储空间的方法

在Windows Mobile应用程序开发的初期&#xff0c;可以使用SDK自带的模拟器来进行调试&#xff0c;这给我们开发人员提供了一种方便的途径。一般的应用程序&#xff0c;占用空间的大小也就几 百K&#xff0c;或者几M&#xff0c;这在模拟器上调试起来一点问题也没有。但是有的时…

UOS LoongArch 上成功安装.NET Core 3.1

龙芯.NET团队正式发布了.NET Core 3.1 For LoongArch, 具体参见龙芯开源网站 http://www.loongnix.cn/index.php/Dotnet 。进入安装包下载地址LoongArch64-.NET Core 3.1&#xff0c;可以看到龙芯.NET团队做了很多工作&#xff0c;为Debian和Redhat两大Linux体系平台都做好了基…

c++ vector拷贝构造_JDK源码分析-Vector

1. 概述上文「JDK源码分析-ArrayList」主要分析了 ArrayList 的实现原理。本文分析 List 接口的另一个实现类&#xff1a;Vector。Vector 的内部实现与 ArrayList 类似&#xff0c;也可以理解为一个「可变数组」。其继承结构如下&#xff08;省略部分接口&#xff09;&#xff…

除了PS,原来这个也可以轻松实现图像处理!

全世界只有3.14 % 的人关注了爆炸吧知识在我们生活中&#xff0c;常见的图像处理软件有Adobe Photoshop、Adobe Illustrator等。然而&#xff0c;并非只有软件才能实现图像处理&#xff0c;通过编程手段也是能实现的&#xff01;今天&#xff0c;小天将要带着大家走进计算机视觉…

下雨天纵使少了什么也是少不了一把伞的&#xff0c;即使是几千年前&#xff0c;也不管细雨霏霏&#xff0c;大雨倾盆。愿意沐浴风雨中&#xff0c;享受这样惠泽的人总是少的。从“孤舟蓑笠翁&#xff0c;独钓寒江雪”&#xff0c;“十里一长亭&#xff0c;五里一短亭”&#xf…

oracle用户名密码过期引起的网站后台无法登录

本来今天休息&#xff0c;但是接到同事反映&#xff1a;客户的WEB无法登录了&#xff0c;网站能打开&#xff0c;但是后台登录不了。我就联系了客户&#xff0c;客户说是WEB用户的密码过期导致的&#xff0c;默认是180天到期。接着就是我的操作流程了&#xff1a;1.先从WEB服务…

微服务的终极目标,Mecha分布式运行时之Dapr

1. Mecha 是啥&#xff1f;微服务发展到今天&#xff0c;已经有很多公司多年前已经改造完毕&#xff0c;也有些公司还在路上&#xff0c;微服务的优势&#xff0c;有过了解的朋友应该也都能说出个一二三来&#xff0c;经历过微服务改造的&#xff0c;应该都知道其中的艰辛。单体…

python input输入多个变量_「Python 秘籍」1.2 解压可迭代对象赋值给多个变量

问题需要从某个可迭代对象中分解出 N 个元素&#xff0c;但是这个可迭代对象的长度可能超过 N&#xff0c;这会导致出现“需要解包的值过多(too many values to unpack)”的异常。解决方案“星号表达式”可以用来解决这个问题。例如&#xff0c;假设开设了一门课程&#xff0c;…

为什么不谈恋爱?

1 存好啦&#xff01;2 这是我看过最形象的小说描写了图自天秀bot3 原来游泳池是这样建的。。4 这谁还舍得拉绳子啊5 铁笼&#xff1a;大哥&#xff0c;给点面子好不好&#xff1f;6 别说&#xff0c;这门给狗子放头还挺合适的7 机器人骑自行车你点的每个赞&#xff0c;我都认真…

牛!又一顶级大厂开招.NET,5年35k!

继腾讯阿里百度京东华为招.NET Core后&#xff0c;又一顶级大厂开招.NET Core了&#xff1a;美团上海总部&#xff0c;住宿业务线别样红业务部招.NET开发&#xff0c;25~35k&#xff0c;具体参见【招聘(上海)】美团酒店招聘 .NET 高级开发。大厂遥不可及的认知该放下了&#xf…

理科生浪漫起来,谁都顶不住!

全世界只有3.14 % 的人关注了爆炸吧知识和文科常呈现出的诗词歌赋风花雪月不同&#xff0c;理科常常给人一种理性、严肃甚至冰冷的感觉。其实不然&#xff0c;理科中所蕴含的美&#xff0c;非肉眼可窥。在豆瓣话题#理科中的美学#里&#xff0c;我们找到了许多透过数字、显微镜、…

docker 修改阿里镜像源_Jetson Nano 修改源镜像

由于Jeston nano自带的软件源无法更新&#xff0c;因此更换为国内的软件源&#xff0c;本文使用中科大提供的软件源镜像&#xff0c;具体步骤如下&#xff1a;进入Ubuntu系统之后&#xff0c;我们发现使用以下命令&#xff0c;查看ubuntu版本 $ cat /etc/issue 查看Ubuntu系统版…

python中数据用折线图表示_用python处理文本数据

用python处理文本数据Q&#xff1a;这篇文章主要讲什么&#xff1f;&#xff21;&#xff1a;这篇文章主要讨论如何用python来做一些简单的文本处理——文本相似度比较。谈起python的自然语言处理&#xff0c;肯定会让人想起NLTK。不过上面这两个任务并不需要NLTK这个库&#x…

.Net Core下使用KeyDB高可用缓存集群

前言提到缓存&#xff0c;首先会想到Redis&#xff0c;它是目前最流行的开源内存键值存储服务。使用单个Redis实例进行缓存非常简单&#xff0c;如果创建高可用集群&#xff0c;则需要一个主节点、两个从节点和多个监视主节点的哨兵节点:哨兵节点监控主节点的状态&#xff0c;一…

超赞!世界10个著名悖论的最终解答来了!

全世界只有3.14 % 的人关注了爆炸吧知识今天小编看到一篇作者Das对十大悖论的个人理解&#xff0c;觉得挺有意思&#xff0c;现在便分享给模友们看看&#xff0c;你们的想法是怎样的呢&#xff1f;电车难题引用&#xff1a;“电车难题”是伦理学领域最为知名的思想实验之一&…

设置计算机网络密码怎么设置路由器,如何在计算机上设置路由器密码?

问: 如何在计算机上设置路由器密码&#xff1f;A: 在计算机浏览器中&#xff0c;输入路由器的管理地址&#xff0c;打开登录页面&#xff0c;输入登录密码&#xff0c;然后进入设置页面.然后打开无线设置或Wi-Fi设置选项&#xff0c;您可以设置无线密码(wifi密码). 打开此选项可…

hive sql 怎么实现循环_不出办公室就能无水造纸?让废纸“秒循环再生”怎么实现的...

废纸变为再生纸&#xff0c;不出办公室就能循环利用起来&#xff0c;既节省大量木材&#xff0c;还不消耗一滴水……第三届进博会上&#xff0c;首次参展的打印巨头爱普生带来其全球首创的“干纤维纸张循环系统”&#xff0c;环保效果令人赞叹&#xff0c;吸引大批观众前来围观…

两头编程,测试中间

最近在做一些开发测试代码的工作&#xff0c;就是为了测试中间业务程序&#xff0c;前头调用程序&#xff0c;后头写挡板程序&#xff0c;说白了就是链路调用&#xff0c;因为复杂度在中间的业务程序&#xff0c;所以前后两端的程序应相对简单。这里就有一个问题&#xff1a;技…

Win32 窗口篇(3)

1.11 如何显示或隐藏窗口的标题栏 使用ModifyStyle方法改变参数来更改窗体样式 void CDemoDlg::OnTest1() {//删除标题栏风格ModifyStyle(WS_CAPTION, 0, SWP_FRAMECHANGED); }void CDemoDlg::OnTest2() {//添加标题栏风格ModifyStyle(0, WS_CAPTION, SWP_FRAMECHANGED); …