//一个简单的ajax获取json的例子
前台
<div id="ruleList"></div>向div里添加一段循环输出的数据
ajax代码
$.ajax({
type: "POST",
url: "ruleListAction.do?method=searchRuleList",
//我们用text格式接收
//dataType: "text",
//json格式接收数据
dataType: "json",
data: "ruleId="+ruleId+"&ruleGroupId="+ruleGroupId+"&prodName="+prodName,
success: function (jsonStr) {
//实例2个字符串变量来拼接下拉列表
//alert(jsonStr);
//使用jquery解析json中的数据
var ruleListTemp = "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
$.each(jsonStr, function (n, value) {
//alert(value.ruleId);
ruleListTemp += ("<tr><td>" + value.ruleName);
ruleListTemp += ("</td></tr>");
});
ruleListTemp += ("</table>");
$("#ruleList").html(ruleListTemp);
}
});
要注意的是data中是js方法中获取的变量来传值给后台获取,另外jsonStr要和后台传来的变量一致
后台代码
//异步查找具体规则
public ActionForward searchRuleList(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) throws IOException {
response.setCharacterEncoding("utf-8");
String ruleId = request.getParameter("ruleId").trim();
String ruleGroupId = request.getParameter("ruleGroupId").trim();
String prodName = request.getParameter("prodName").trim();
try{
//根据prodName找出prodId
Tporduction porductionByName = ruleListLogic.getPorductionByName(prodName);
Trule rule = ruleListLogic.getRuleByProdIdAndRuleTypeCode(porductionByName.getProdId(), "1");
List<TruleVersion> ruleVersionList = new ArrayList<TruleVersion>();
ruleVersionList = ruleListLogic.getRuleVersionListByRuleIdAndGroupId(rule.getRuleId(), Integer.parseInt(ruleGroupId));
List<RuleListBean> ruleListTmp = new ArrayList<RuleListBean>();
RuleListBean ruleTmp=new RuleListBean();
for(int i=0;i<ruleVersionList.size();i++){
ruleTmp.setRuleId(ruleVersionList.get(i).getComp_id().getRuleId());
ruleTmp.setRuleNo(ruleVersionList.get(i).getComp_id().getRuleNo());
ruleTmp.setRuleGroupId(ruleVersionList.get(i).getRuleGroupId());
ruleTmp.setRuleName(ruleVersionList.get(i).getRuleItemName());
ruleListTmp.add(ruleTmp);
}
//JSON
JSONArray json = JSONArray.fromObject(ruleListTmp);
String jsonStr = json.toString();
response.getWriter().print(jsonStr);
response.getWriter().flush();
response.getWriter().close();
}catch (Exception e) {
e.printStackTrace();
}
return null;
}
需要注意的是JSONArray.fromObject放入的实体类不能是回环调用的类,如果实体类中有联合主键这种也会有问题,建议使用一个dto来转换成json,把需要的字段放入,这样就不会报java.lang.reflect.InvocationTargetException这种的错误。
分享到:
相关推荐
在"JsonDemo"项目中,可能包含了一个简单的AJAX+JSON示例。客户端可能有一个HTML页面,通过JavaScript调用AJAX发送请求,服务器端使用.NET处理请求,将数据以JSON格式返回。例如,一个简单的获取用户信息的接口: `...
这个压缩包文件中的例子涵盖了Ajax、jQuery和JSON的基础使用,从简单的GET请求到复杂的异步数据交互,对于初学者来说是非常宝贵的资源。通过学习和实践这些例子,你可以更好地理解和掌握如何使用Ajax和jQuery来创建...
一个简单的JSON对象可能如下所示:`{"name": "John", "age": 30, "city": "New York"}`。 现在,让我们来看"TestJQuery"这个例子。在这个示例中,可能有一个HTML页面,它使用jQuery来触发一个Ajax请求,请求的目标...
在"一个简单的JSON+AJAX"的例子中,我们可以推测这个压缩包可能包含了一个名为`json.js`的文件,该文件可能是实现了一个简单的AJAX请求,以JSON格式交换数据的示例。以下是一个可能的`json.js`实现: ```javascript...
例如,一个简单的 AjaxJson 示例代码可能如下: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'data.json', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr....
当用户点击“查看详情”按钮时,可能需要发送另一个AJAX请求获取详细信息,并将其显示在`#contentclass`元素内。 在服务器端,SSH1框架中的控制器(Controller)负责处理请求,查询数据库(可能使用Hibernate作为...
以下是一个基本的$.ajax()调用示例,用于读取JSON文件: ```javascript $.ajax({ url: 'path_to_your_json_file.json', // 替换为实际的JSON文件路径 type: 'GET', dataType: 'json', success: function(data) ...
标题"ajax例子,json例子"暗示我们将讨论如何使用Ajax技术来处理JSON数据。Ajax的核心在于XMLHttpRequest对象,它提供了与服务器异步通信的能力。下面,我们将深入探讨这两个概念及其结合使用的方法。 1. **Ajax...
以下是一个简单的PHP示例: ```php // 假设我们有一个数组,代表从数据库或其他数据源获取的数据 $data = [ ['name' => '张三', 'age' => 30], ['name' => '李四', 'age' => 25], ['name' => '王五', 'age' => ...
2. **JSON与Struts2的结合**:Struts2 Action执行后返回一个JSON字符串,这个字符串被jQuery AJAX请求接收。通过Struts2的插件,如struts2-json-plugin,可以在Action类中直接返回一个包含JSON数据的对象,Struts2会...
例如,假设我们有一个简单的服务器端数据: ```json { "users": [ {"name": "张三", "age": 25}, {"name": "李四", "age": 30} ] } ``` 使用AJAX获取这些数据的JavaScript代码可能如下所示: ```javascript /...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在Web开发中,JSON常用于服务器向客户端传输数据,尤其是在AJAX...
3. **AJAX请求**:使用jQuery的`.ajax()`或`.getJSON()`方法发起一个请求到服务器,获取JSON数据。请求通常包括URL、请求类型(GET或POST)、成功回调函数等参数。 ```javascript $.ajax({ url: 'your_server_...
在这个"一个简单的Ajax例子"中,我们将深入探讨Ajax的核心概念、工作原理以及如何编写基本的Ajax代码。 1. **Ajax核心概念**: - **异步通信**:Ajax允许浏览器与服务器进行非阻塞通信,即用户在请求处理期间仍可...
在这个例子中,我们创建了一个新的XMLHttpRequest对象,设置请求方法为POST,目标URL为'/api/data',并指定了Content-Type为'application/json',表示我们将发送Json格式的数据。当请求状态改变时,我们检查...
jQuery是一个轻量级的JavaScript库,由John Resig在2006年创建。它通过简化DOM操作、事件处理、动画效果以及Ajax交互,极大地提高了开发者的工作效率。jQuery的核心特性包括: 1. **选择器**:jQuery提供了丰富的...
综上所述,通过以上步骤,我们已经在Struts2中实现了使用Ajax获取并展示JSON数据的功能。这个过程包括了引入必要的库、创建前端页面、编写后端Action类以及配置Struts2的Action。当你运行项目并点击按钮时,浏览器将...
以下是一个简单的AJAX请求的JavaScript示例: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'data.json', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr....
在这个"省市区三级联动ajax+json+jquery"的例子中,开发者孙意如提供了一个基于AJAX、JSON和jQuery的小型示例,帮助我们理解和实现这一功能。 首先,我们要理解AJAX(Asynchronous JavaScript and XML),它是一种...
标题 "ajax+json+ashx实现列表页.rar" 暗示了这是一个关于使用AJAX、JSON和ASHX处理在Web应用中动态加载列表页的示例项目。在这个项目中,开发者可能通过AJAX技术实现了无刷新更新列表,利用JSON进行数据传输,而...