-
百度了很久没找到事例,就是就Jquery ajax success(data)返回的data数据,怎么取出实体类30
琢磨了很久,服务器端打算用json插件把实体类数据转换成json数据,好像也只能是用插件了吧
客户端script的代码是这样
$("#modelname").blur(function(){
var temp=$(this).val();
$.post(
urladdress,
{
message:temp
},
function modelmethod(data){
var model=data.model;
$("#number").val(model.number);
$("#year").val(model.year);
$("#factory").val(model.factory);
$("#_package").val(model._package);
//$("#number").val(data);
},"html"
);
});
看见有一个设计是第一个输入框输入身份证,服务器检索数据,返回对应实体类数据,将各属性信息填到每个对应属性的输入框里。
现在遇到的问题是怎么从success(data)的data数据中得到实体类,如果$.post(url,data,success(data),"html");
换成$.post(url,data,success(data),"json");success(data)就不执行了
附上实例,谢谢各位兄弟帮忙看看
问题补充:之前去实体类问题已经解决,问题在于服务器要求传的是json格式的字符串就OK了,手动写了实体类的json格式字符串,解决了,现在有一个新麻烦就是页面传一个json格式的字符串,是实体类的json格式的字符串,如{"custom":{"id":"123","name":"zhangsan","age":"23"}},JAVA后台request.getParameter("custom")会显示为null,如果传的json非实体类,如{"custom":"客户"}是可以获取的,求正确的获取方法2014年10月06日 16:02
7个答案 按时间排序 按投票排序
-
采纳的答案
$.post( urladdress, { message:temp }, 改成这样的: $.post( urladdress, {"id":123,"name":"zhangsan","age":23},
这样通过request.getParameter("id");
request.getParameter("name");
request.getParameter("age");
来获取数据,再new一个Model设置进去就可以了。
2014年10月07日 17:38
-
也可以这么写:
$.post( urladdress, { // 要把数据用单引号包着,当作字符串处理,而不是对象 message:'{"id":123,"year":"2015","factory":23}' },
然后可以通过jackson自动把json转换weiModel对象:Model requestModel = mapper.readValue(req.getParameter("message"), Model.class); System.out.println(requestModel);
2014年10月07日 17:57
-
刚才的java代码没有格式化,看这个吧。
package com.action; import java.io.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.fasterxml.jackson.databind.ObjectMapper; import com.pojo.Model; public class ModelAction extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("����get����"); System.out.println(req.getParameter("message")); PrintWriter out = resp.getWriter(); out.print("[\"bss100\",\"bss101\",\"2sc9999\"]"); //resp.getOutputStream().print("[\"bss100\",\"bss101\"]"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("����post����"); System.out.println(req.getParameter("message")); Model model=new Model(); model.setNumber(500); model.setFactory("NEC"); model.set_package("DIP"); model.setYear("01"); ////////////////////////改的地方///////////////////////////////// ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(model); PrintWriter out = resp.getWriter(); out.print(json); /////////////////////////////////////////////////////////////// //resp.getOutputStream().print("[\"bss100\",\"bss101\"]"); } }
2014年10月07日 12:14
-
不能在java代码中直接输入对象到相应中,应该先把对象转换为json字符串,再输出到http响应中,可以用jackson来把对象转换为json字符串。
引用package com.action;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.pojo.Model;
public class ModelAction extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("����get����");
System.out.println(req.getParameter("message"));
PrintWriter out = resp.getWriter();
out.print("[\"bss100\",\"bss101\",\"2sc9999\"]");
//resp.getOutputStream().print("[\"bss100\",\"bss101\"]");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("����post����");
System.out.println(req.getParameter("message"));
Model model=new Model();
model.setNumber(500);
model.setFactory("NEC");
model.set_package("DIP");
model.setYear("01");
///////////////////////改的地方/////////////////////////
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(model);
PrintWriter out = resp.getWriter();
out.print(json);
/////////////////////////////////////////////////////
//resp.getOutputStream().print("[\"bss100\",\"bss101\"]");
}
}
另外servlet返回的数据已经是model对象了,不用通过var model=data.model来获取了。
直接用就可以了。$("#number").val("200"); $("#year").val(model.year); $("#factory").val(model.factory); $("#_package").val(model._package);
2014年10月07日 12:01
-
$.post(url,data,success(data),"html");
url:代表请求路径
data:代表参数信息
success(data):代表执行后返回调用函数信息
html或者json代表:格式
你post请求后应该有个success的函数,在函数内部你在进行得到数据信息
$.post(url,data,success(data),"html");
function success(data){
alert(data);
}2014年10月07日 08:42
相关推荐
在IT行业中,jQuery和Ajax是两个非常重要的技术,它们在构建动态、交互性强的Web应用程序时发挥着关键作用。jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。Ajax...
标题 "自己写的Jquery form ajax 事例" 涉及到的是使用jQuery库进行表单数据异步提交(AJAX)的实践。在Web开发中,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。在本...
**Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,提升了用户体验,尤其是在网页应用中...
jQuery的`.ajax()`函数是进行异步数据请求的核心,可以轻松地与服务器进行JSON、XML或其他格式的数据交换。`.getJSON()`和`.getScript()`分别用于获取JSON数据和JavaScript脚本,`.load()`则用于局部刷新页面元素。...
这个“ajax事例”很适合初学者作为学习起点,它将帮助理解Ajax的工作原理及其在实际Web开发中的应用。** **一、Ajax的基本概念** 1. **异步通信**:Ajax的核心特性是异步,它允许网页在不刷新的情况下与服务器交换...
当用户在前端执行某个操作(如选择一个下拉列表项)时,JavaScript会触发Ajax请求,向服务器发送数据,然后服务器处理这些数据并返回响应。最后,JavaScript根据服务器返回的数据更新页面的特定部分,而不需要刷新...
**jQuery验证框架及事例** jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作以及Ajax交互。在本资源包中,我们重点关注的是jQuery在表单验证和分页方面的应用。 **一、jQuery验证框架**...
当用户触发一个AJAX请求时,JavaScript代码创建XMLHttpRequest实例,然后通过这个实例向服务器发送请求,接收响应,并处理返回的数据。 ### 2. 创建XMLHttpRequest对象 在JavaScript中,创建XMLHttpRequest对象...
jQuery EasyUI 是一款基于 jQuery 的前端开发框架,它简化了Web界面开发的复杂性,提供了大量的可重用组件,如对话框、表格、菜单、按钮等,极大地提升了开发效率并降低了开发成本。EasyUI 的核心理念是“简单易用”...
**jQuery Ztree 实例详解** jQuery Ztree 是一个基于 jQuery 的强大的树形插件,它提供了丰富的树状视图功能,适用于多种应用场景,如文件管理、组织结构展示、导航菜单等。在这个实例中,我们已经结合了数据库脚本...
这个里面的例子 很适合初学者来体验jquery的强大之处,现在我把这个项目贴出来,和大家一起分享,下载后到各个浏览器上运行都兼容,希望能够帮助到各位!
这个“ajax事例演习(有错情报喊)”可能是一个练习项目,旨在帮助开发者深入理解和应用Ajax技术。下面将详细阐述Ajax的核心概念、工作原理以及如何实现一个简单的Ajax请求。 Ajax的核心概念: 1. 异步通信:Ajax的...
结合以上知识点,"php+mysql+jqury+ajax+mvc+单例模式事例"是一个适合初学者的项目,它可能包含了一个简单的MVC框架,使用PHP处理后端逻辑,MySQL存储数据,jQuery增强前端交互,并利用Ajax实现无刷新的数据通信。...
Ajax的核心特性就是异步数据交换,这意味着用户可以继续浏览网页,而后台则在处理请求和接收响应。这提升了用户体验,因为页面不会因为等待服务器响应而冻结。 2. **JavaScript基础**: 在Ajax中,JavaScript扮演...
在实际开发中,我们还可能会使用到一些库和框架,如jQuery的`$.ajax()`方法,或者现代的Fetch API,以及前端框架如React、Vue中的集成解决方案,这些都极大地简化了AJAX的使用。了解和掌握AJAX技术,是成为一名优秀...
在"ajax事例js"这个主题中,我们可以通过分析提供的源代码来深入理解Ajax的工作原理和应用。这些文件可能包含了实现不同功能的Ajax实例,如特效(effects.js)、拖放操作(dragdrop.js)、浏览器兼容性处理(hacks...
Ajax制作百度搜索提示,vs2010下使用.压缩包里已经装有插件.项目事例,具有数据库(SqlServer2008下使用).请在App_Code\GetKeywords.cs文件里修改数据库连接....本项目仅供参考
在这个例子中,`MyService`是服务器上的Java类,`someMethod`是其公开的可远程调用的方法,`param1`是传递的参数,而回调函数则处理返回的数据。 通过这种方式,开发者可以轻松地构建复杂的、无刷新的Web应用,提高...
《jQuery.blockUI插件的深度解析与应用》 在网页开发中,用户交互体验是至关重要的,尤其是在进行异步操作时,如何优雅地提示用户页面正在处理,避免误操作或重复提交,是开发者需要考虑的问题。jQuery.blockUI插件...