前台jquery+ajax+json传值,后台处理完后返回json字符串,如何取里面的属性值?(不用springmvc注解)

一.取属性值

前台页面:

function select(id){
alert("hfdfhdfh"+id);
$.ajax({
url:"selectByid.jsp",
datatype:‘json‘,
data:{id:id}, // 发送数据
error:function(data){
alert("出错了,没有这个学生!!");
},
success:function(data){
alert(data);
var json = eval("("+data+")");//将json类型字符串转换为json对象
alert("hjf"+json.name);
$("#id").val(json.id),
$("#name").val(json.name),
$("#age").val(json.age);
if(json.sex==‘男‘){
$("input:radio[name=‘sex‘]").eq(0).attr("checked",true);
//$("input[name=sex]").attr("checked","checked");
// $("#sex").attr("checked",‘checked‘);
//$("#sex").removeAttr("checked");
}else{
$("input:radio[name=‘sex‘]").eq(1).attr("checked",true);
//$("input[name=sex]").attr("checked","checked");
//$("#sex").attr("checked",‘checked‘);
//$("#sex").removeAttr("checked");
}
}

后台代码:

<%@ page language="java" import="java.util.*,com.dao.*,com.bean.*,com.fasterxml.jackson.databind.ObjectMapper" pageEncoding="utf-8"%>
<%
int id = Integer.parseInt(request.getParameter("id"));
StudentDao dao = new StudentDao();
StudentBean bean = dao.selectByid(id);
if(bean!=null){
ObjectMapper x = new ObjectMapper();
String str = x.writeValueAsString(bean);    //将java类对象转换为json字符串
System.out.print(str);
response.getWriter().print(str);    //将数据返回前台ajax
}
%>

二.前端ajax接不到json值怎么回事?

前台页面:

function ajaxPost(){
$.ajax({
data:{"name":$("#name").val(),
"age":$("#age").val(),
"sex":$("input[name=‘sex‘]:checked").val()},
type:"Post",
async:false,                //加上这个属性就好了
dataType: ‘json‘,
url:"addStudent.jsp",
error:function(data){
alert(‘添加失败!‘);
},
success:function(data){
alert(‘添加成功!‘);
window.location.href = ‘list.jsp‘
}
});
}

后台代码:

<%@ page language="java" import="java.util.*,com.dao.*,com.bean.*" pageEncoding="utf-8"%>
<%
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
String sex = request.getParameter("sex");
StudentBean student = new StudentBean();
student.setName(name);
student.setAge(age);
student.setSex(sex);
StudentDao dao = new StudentDao();
int rows = dao.addStudent(student);
if(rows>0){
response.getWriter().print("{}");
}
%>

三.后台查询数据库返回集合,前台显示在表格中。

前台页面:

$(document).ready(function(){
$("#list4").jqGrid({                //jqGrid 表格控件
url:"selectStudent.jsp",
datatype:"json",
mtype:"POST",
height:600,
postData:"{SearchSql:‘‘}",
autowidth:true,
colNames:[‘ID‘,‘姓名‘,‘年龄‘,‘性别‘],
colModel:[
{name:‘id‘,index:‘id‘,hidden:true},
{name:‘name‘,index:‘name‘},
{name:‘age‘,index:‘age‘},
{name:‘sex‘,index:‘sex‘},

],
rownumbers:true,
viewrecords: true,
jsonReader:{
id: "blackId",
repeatitems : false
},
pager:$(‘#gridPager‘)
});
});

后台代码:

<%@ page language="java" import="java.util.*,com.dao.*,com.bean.*,com.fasterxml.jackson.databind.ObjectMapper" pageEncoding="utf-8"%>
<%
StudentDao dao = new StudentDao();
List<StudentBean> list = dao.selectAll();
if(list!=null){
ObjectMapper x = new ObjectMapper();
String str1 = x.writeValueAsString(list);      //集合转json类型字符串
response.getWriter().print(str1);    //返回前端ajax
}
%>

时间: 2024-10-21 22:17:51

前台jquery+ajax+json传值,后台处理完后返回json字符串,如何取里面的属性值?(不用springmvc注解)的相关文章

MVC中使用Ajax提交数据 Jquery Ajax方法传值到action

Jquery Ajax方法传值到action <script type="text/javascript"> $(document).ready(function(){ $("#btn").click(function(){ $.ajax({ type: 'POST', url: "/Home/MyAjax", data: { val1: $("#txt1").val(), val2: $("#txt2&

Spring MVC全局异常后返回JSON异常数据

Spring MVC全局异常后返回JSON异常数据 问题: 当前项目是作为手机APP后台支持,使用spring mvc + mybaits + shiro进行开发.后台服务与手机端交互是发送JSON数据.如果后台发生异常,会直接返回异常页面,显示异常内容,如果是404请求不到资源或者500这类服务器的问题,可能会导致返回404和500异常页面,手机端的处理就非常麻烦,为了解决这个问题,就需要做全局的异常处理. 解决方案: (1)自定义或者使用spring自带的各种异常处理器 例如spring基于

Jquery ajax异步传值的两个实用的方法,你看后肯定会用第二个

故名思议,你是个asp.net  或者是搞PHP的或者 是javaweb的 ,但是为了提高界面的效率,你必须会实用jquery的ajax,当然,在ajax异步传值的时候很头疼的一件事情就是,拼接字符串json下面给大家演示一个较为普通的拼写json,话不多少 我直接上code $.ajax({ type: "Post", //方法 url: "MsgTongJi.aspx/AreaStu", //url contentType: "application/

JQuery AJAX请求aspx后台方法

利用JQuery封装好的AJAX来请求aspx的后台方法,还是比较方便的,但是要注意以下几点: 1.首先要在方法的顶部加上[WenMethod]的特性(此特性要引入using System.Web.Services;命名空间) 2.其次方法一定要是静态(static)方法. 下面我做了几个不同的调用后台方法的例子: 1.不带参数返回string方法 前台代码: 1 //不带参数返回string方法 2 $.ajax({ 3 type: "post", 4 url: "后台返回

jquery ajax()方法传值乱码问题

 今天在用jquery.ajax()方法时,页面传的中文值到后台是乱码,后台总结了下解决这个问题有两个方法: 方法一: 用方法encodeURI() 后台不用做什么处理即可.我这的编码为UTF-8,如下所示: $.ajax({ url:"getIsAddWorkToday.action?1=1&workName="+encodeURI(empName), cache:false, type:"post", contentType:"text/h

Jquery Ajax方法传值到action(一)

1.背景介绍:最近刚上手Jquery,通过ajax传递json类型数据到后台action,遇到各种问题,看到了一篇不错的文章,就算在此书写观后感吧~ 原文地址:http://cnn237111.blog.51cto.com/2359144/838081 2.废话不多说,上代码,(每种传递方式代码 分前台js,和后台action) 1 HTML: 2 3 <form> 4 <input id="btn" type="button" value=&qu

jQuery Ajax请求提交 后台getParameter接收不到数据

今天遇到的问题,总结一下 jQuery的$ajax({ contentType:"application/json",  //发送信息至服务器时内容编码类型. }) 这样的方式提交时,如果指定contentType为application/json:此时后台通过传统的getParameter("属性名")不能够获取前端传过来的数据, 此时需要 使用 http://blog.csdn.net/mhmyqn/article/details/25561535 这里的方法去

jQuery AJAX 方法 success()后台传来的4种数据

原文地址:https://blog.csdn.net/dreamstar613/article/details/61913970 1.后台返回一个页面 js代码 /**(1)用$("#content-wrapper").html(data);显示页面*/ $.ajax({ async : false, cache : false, type : 'POST', url : 'area/prepareCreate', error : function() { alert('smx失败 '

JQuery ajax url传值与data传值的区别

url传中文,乱码,即便charset为 UTF-8, $.ajax({    type: "POST",    cache: false,    url: "/ProductTypeAndCat/AddType?typeName=" + typeName,    contentType: "application/x-www-form-urlencoded; charset=UTF-8",    datatype: "JSON&quo