如果响应数据是以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. 怎么利用 ChromeDriver 和 Selenium对 CEF应用进行自动化测试-java实现

    Overview ChromeDriver and Selenium are tools for automated testing of Chromium-based applications. T ...

  2. 请求 - Fetch(未完)

    概念和用法 可以被使用到更多地应用场景中:无论是service workers.Cache API.又或者是其他处理请求和响应的方式,甚至是任何一种需要你自己在程序中生成响应的方式. Cache 接口 ...

  3. Bootstrap4一些零散的知识点

    ·Bootstrap 是全球最受欢迎的前端组件库,用于开发响应式布局.移动设备优先的 WEB 项目. Bootstrap4 目前是 Bootstrap 的最新版本,是一套用于 HTML.CSS 和 J ...

  4. maven依赖报红的一些解决办法

    使用IDEA集成maven管理项目依赖时,经常出现更改pom文件后maven依赖列表并未更改,且依赖报红,此时建议检查maven配置文件maven仓库是否下载好jar包,如果未下载好jar包文件夹内会 ...

  5. jvm gc 调优 实战

    非常不错的文章们 转自: 中文:http://blog.csdn.net/dragonassassin/article/details/51010947 http://josh-persistence ...

  6. 在Java后端如何添加拦截器

    在安全编码规范中,在Java后端controller层接口需要对调用者的身份进行确认,以防非法用户进行访问.若是在controller层的每个接口处都添加逻辑判断,那么代码重复度高,并且费力费时.此时 ...

  7. Yeoman+Bower+gulp web前端自动化工作流程(初级教程)

    Yeoman包括了三个部分yo(脚手架工具).grunt/gulp(构建工具).bower(包管理器).听说gulp更容易上手,所以我就没用grunt而选的gulp 什么是开发流程? 在我看来一个完整 ...

  8. windows下安装配置subline+Markdown

    安装环境:win10 64bit 1. 安装subline3 subline : http://www.sublimetextcn.com/  直接下载安装,不用激活(dao版,慎用) 2. 安装Ma ...

  9. wx: wx.showModal 回调函数中调用自定义方法

    一.在回调函数中调用自定义方法: 回调函数中不能直接使用this,需要在外面定义 var that = this 然后 that.自定义的方法.如下: //删除 onDelete: function ...

  10. 如何通过给MM修电脑培养感情

    文章来自网络 在修之前,向MM反复声明,这电脑故障是有硬件和软件之分的,如果是硬件故障,例如显卡风扇不转了,显示器连线老化,显示器分辨率超出显示器指标,等等都会导致黑屏啊,这个我不回家用专门的工具是修 ...