如果响应数据是以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数组后对数组的遍历的更多相关文章

  1. ajax异步获取数据后动态向表格中添加数据(行)

    因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 <!doctype html> ...

  2. jquery.ajax异步发送请求的简单测试

    使用ajax异步发送请求到一般处理程序,判断输入的用户名和密码 1.添加Html页面,导入jquery 2.编写js代码和页面标签 <script type="text/javascr ...

  3. 异步POST请求解析JSON

    异步POST请求解析JSON 一.创建URL NSURL *url = [NSURL URLWithString:@"http://localhost:8080/MJServer/order ...

  4. dedecms Ajax异步获取文章列表

    dedecms如何通过ajax(异步)动态获取文章列表数据. 第一步添加:服务端(PHP)代码 打开plus目录下面的list.php文件,在12行代码下面添加以下代码: if(isset($_GET ...

  5. ajax和axios请求本地json数据对比

    AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...

  6. treeTable的使用(ajax异步获取数据,动态渲染treeTable)

    一.展示效果(treetable基本样式https://www.cnblogs.com/shuihanxiao/p/10413454.html) 二.html文件(若一个页面又多个treetable, ...

  7. Ajax - 异步调用后台程序 -JSON

    在ASP.NET使用ajax时基本上每个操作都要新建一个.ashx处理程序,页面很多,每个页面的操作也很多,这样的话项目就会产生新建很多很多的.ashx页面,能不能把方法写在后台中,然后Jquery直 ...

  8. Ajax异步获取html数据中包含js方法无效的解决方法

    页面上使用js写了一个获取后台数据的方法 function data() { var tab = $("#dic") $.ajax({ url: '../demo.ashx?met ...

  9. 通过Ajax——异步获取相关问题解答

    问题呈现: 解决方案: dataType定义的是接收的值的类型,及controller控制器返回什么类型的值,这就写成什么类型, 我写的是return content("...") ...

随机推荐

  1. gulp常用插件之gulp-notify使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-notify这是一款gulp通知插件. 更多使用文档请点击访问gulp-notify工具官网. 安装 一键安装不多解释 npm inst ...

  2. 如果在vscode 中用运行快捷键(Ctrl+Alt+N)出现中文的乱码

    在VSCODE中,运行代码的快捷方式是Ctrl+Alt+N,终止 代码运行的方式是Ctrl+Alt+M,但是有时候会出现汉字的乱码,这种情况并不是代码有问题,只要在terminal 中运行代码就可以了 ...

  3. sqlserver中float转varchar时不显示科学计数法

    MSSQL中 float转换为varchar 变成科学计数法解决方案   在系统初始化的时候,因为有同事,没有在数值型的数据前面加上 单引号,导致进入数据库后都变成float型我们需要做以下转换就能将 ...

  4. Linux网络课程学习第一天

    第一天上课主要介绍了LINUX系统和Linux课程的情况.了解了开源系统的四大优势,六大特点. 最具有心得的一句话: 学习是件苦差事: 稻盛和夫先生的话也深深激励着我:“工作马马虎虎,只想在兴趣和游戏 ...

  5. GitHub概述

    1 引言 GitHub是为开发者提供Git仓库的托管服务,是一个让开发者与同事.同学及相同兴趣爱好者共享代码的完美场所. GitHub公司总部位于美国旧金山,拥有一只似章鱼又似猫的吉祥物. GitHu ...

  6. ELK学习实验015:日志的自定义index配置

    前面使用json格式收集了nginx的日志,但是再index的显示是filebeat-*,现在使用自定义的index进行配置 但是再使用filebeat的7.4版本以后,有一个巨坑,就是按照网络的很多 ...

  7. AOPS论坛上100+100个积分

    100+10 rare and irresistible integrals I bring you many beautiful integrals that I have collected ov ...

  8. 在 window 上卸载 mysql

    1.停止 mysql 服务 开始——>控制面板——>管理工具——>服务,停掉 MySQL 的服务 2.卸载安装包 控制面板-添加删除程序,找到MySQL,卸载(可能会有多个安装包,需 ...

  9. GitBook的使用方式,快速创建网页文档

    环境需求:node npm 得装好 ----------------------------------- 我一开始不知道得先装gitbook-cli 先执行了 npm install gitbook ...

  10. JDBC——Statement执行SQL语句的对象

    Statement该对象用于执行静态SQL语句并返回它产生的结果.表示所有的参数在生成SQL的时候都是拼接好的,容易产生SQL注入的问题 PreparedStatement对象是一个预编译的SQL语句 ...