ajax异步获取请求,获得json数组后对数组的遍历
如果响应数据是以html的形式发出来的,即
response.setContentType("text/html;charset=utf-8");
那么一般用下面这种方式,但是要注意用eval()函数将responseText转换成一个json表达式,如下标红代码
//创建回调函数,根据相应状态动态更新页面
var xhr = getXMLHttpRequest(); //创建XMLHttpRequest对象 //通过实践调用回调函数处理相应结果
xhr.onreadystatechange = function(){ if(xhr.readyState == ){
if(xhr.status == ){
var str = xhr.responseText; //将str强制转换成一个表达式
12 str = eval(xhr.responseText);
for(var i = ; i < str.length; i++){
var option = "<option>"+str[i].name+"</option>";
$("#select").append(option);
}
}
}
} //与服务器建立连接
xhr.open("get", "${pageContext.request.contextPath}/provinceServlet"); //发送请求
xhr.send(null);
当然,这里获取到json表达式,后可以jquey方式遍历,如下标红代码
//创建回调函数,根据相应状态动态更新页面
var xhr = getXMLHttpRequest(); //创建XMLHttpRequest对象 //通过实践调用回调函数处理相应结果
xhr.onreadystatechange = function(){ if(xhr.readyState == ){
if(xhr.status == ){
var str = xhr.responseText;
//将str强制转换成一个表达式
str = eval(xhr.responseText); $(str).each(function(){
14 var option = "<option>"+this.name+"</option>";
15 $("#select").append(option);
16 });
}
}
} //与服务器建立连接
xhr.open("get", "${pageContext.request.contextPath}/provinceServlet"); //发送请求
xhr.send(null);
如果后台响应的是以application/json方式发出的,即
response.setContentType("application/json;charset=utf-8")
那么运用jquery可以进一步简化代码,代码如下:
$.get("provinceServlet", {}, function(data){
$(data).each(function(){
var option = "<option>"+this.name+"</option>" ;
$("#select").append(option);
});
});
顺便提一句:
将普通对象封装成json的方法是JSONOject.fromObject(obj).toString();
如果是将list对象封装成json,那么方法是JSONArray.fromObject(list).toString();
ajax异步获取请求,获得json数组后对数组的遍历的更多相关文章
- ajax异步获取数据后动态向表格中添加数据(行)
因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 <!doctype html> ...
- jquery.ajax异步发送请求的简单测试
使用ajax异步发送请求到一般处理程序,判断输入的用户名和密码 1.添加Html页面,导入jquery 2.编写js代码和页面标签 <script type="text/javascr ...
- 异步POST请求解析JSON
异步POST请求解析JSON 一.创建URL NSURL *url = [NSURL URLWithString:@"http://localhost:8080/MJServer/order ...
- dedecms Ajax异步获取文章列表
dedecms如何通过ajax(异步)动态获取文章列表数据. 第一步添加:服务端(PHP)代码 打开plus目录下面的list.php文件,在12行代码下面添加以下代码: if(isset($_GET ...
- ajax和axios请求本地json数据对比
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...
- treeTable的使用(ajax异步获取数据,动态渲染treeTable)
一.展示效果(treetable基本样式https://www.cnblogs.com/shuihanxiao/p/10413454.html) 二.html文件(若一个页面又多个treetable, ...
- Ajax - 异步调用后台程序 -JSON
在ASP.NET使用ajax时基本上每个操作都要新建一个.ashx处理程序,页面很多,每个页面的操作也很多,这样的话项目就会产生新建很多很多的.ashx页面,能不能把方法写在后台中,然后Jquery直 ...
- Ajax异步获取html数据中包含js方法无效的解决方法
页面上使用js写了一个获取后台数据的方法 function data() { var tab = $("#dic") $.ajax({ url: '../demo.ashx?met ...
- 通过Ajax——异步获取相关问题解答
问题呈现: 解决方案: dataType定义的是接收的值的类型,及controller控制器返回什么类型的值,这就写成什么类型, 我写的是return content("...") ...
随机推荐
- 每个Web开发者都应该知道的SOLID原则
面向对象的编程并不能防止难以理解或不可维护的程序.因此,Robert C. Martin 制定了五项指导原则,使开发人员很容易创建出可读性强且可维护的程序.这五项原则被称为 S.O.L.I.D 原则. ...
- 【32】Padding(填充)原理讲解
Padding 为了构建深度神经网络,你需要学会使用的一个基本的卷积操作就是padding,让我们来看看它是如何工作的. 我们在之前笔记中看到,如果你用一个3×3的过滤器卷积一个6×6的图像,你最 ...
- Codeforces Round #592 (Div. 2) E
给你一个数组,你最多可以进行k次操作,每次操作可以使一个数+1或者-1,问操作之后数组的极差最小可能是多少 利用map来模拟移动,可以观察到每次应该选择数量少的一组数让他们进行移动是最优的 int m ...
- Jungle Roads HDU - 1301 prim
#include<stdio.h> #include<string.h> #include<iostream> using namespace std; ; int ...
- ansible-yaml语法
1. 基础语法 - yaml结果通过空格来展示 - 数组使用"- "来表示 //注意:-后边要有一个空格 - 键值对使用": "来表示 //注意::后边要有一个 ...
- 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(6.5-加-8.2-加-8.3)End-to-end_Data_Protection
6.5 End-to-end Protection Information 端到端保护信息 包含数据转存的命令可以使用端到端数据保护.在这些命令内部[位于Command Dword 12 的 [29: ...
- PHPMailer发送邮件遇坑小记
一:phpmailer发送邮件成功了 数据库发送状态也更改 但是用户就是没收到邮件. 出现原因:发送邮件太多 导致邮箱服务器被腾讯封了 发送的邮件统统进入了邮件服务器的草稿箱里. 解决方案: 重新修改 ...
- rtp传输h264
---恢复内容开始--- 基本概念的理解 H.264的主要目标:1.高的视频压缩比2.良好的网络亲和性 解决方案:VCL video coding layer 视频编码层NAL network abs ...
- Eclispe WEB项目 转到 IDEA 后无法部署问题
IDEA是个强大的IDE 这个就不用多说了 Eclispe 的Web项目 转到IDEA之后,开始部署会出现大量的问题 项目从SVN下载下来的时候,大概就是这个样 第一步是先设置 项目结构 也就 ...
- 流量难、获客难、增长难?增长黑客思维“解救”B端业务
随着市场竞争的不断加剧,流量越来越贵.留存与转化越来越难,实现用户和业务的增长并不容易.无论是B2C 还是B2B的企业,都可能遇到增长的挑战.对于营销团队而言,传统的漏斗式营销思维已有些力不从心,需要 ...