您的位置:首页 > Web前端 > JQuery

jquery中的ajax应用

2016-11-25 21:39 176 查看

jquery中的ajax应用

jquery手册中还需要去了解

function checkname(obj){
var val = obj.value;
var url ="AjaxServlet.do";
var param={uname:'张三2',tA:23};  //传对象
var data= "data="+"123";              //传字符串
var data2 ="data="+"123"+"&data2="+"456";  //传多个参数
$.ajax({
url: url,   // 请求路径
type: "POST",  //提交方式
dataType:'text', //获取数据类型,还可以是json、xml
cache:false,    //是否缓存
async:false,    //是否异步   true(异步)或 false(同步)
data:param,      //传入的参数
beforeSend:function(){  //请求发送之前触发,
alert("我要出发啦。。。。");
},
success:function(data){  //请求成功后返回的数据
alert("jquery==="+data);
data = eval("(" + data +")" );  //对获取到的数据进行处理,通过eval()转化成js数组
alert("eval==="+data);
alert(data.userA.name);
}

});

}


当 dataType:’text’,时

servlet 只需将数据放入流中即可

resp.setContentType("text/html"); //必须加上
PrintWriter out =  resp.getWriter();
out.write("传入的值,一般为字符串");
out.flush();
out.close();


当 dataType:’json’,时

在servlet中需要将数据转化为json,在放入流中

手动转换为json格式

//          String jsonStr="{'name':'张三','upw':'123','age':'23','sex':'女'}";
//              User user = new User("张三", "123", 12, "男");
//              String jsonStr="{\"uname\": \""+ user.getName()+"\",\"age\":\""+user.getAge()+"\"}";
//                  resp.setContentType("text/html");
//                  PrintWriter out =  resp.getWriter();
//                  out.write(jsonStr);
//                  out.flush();
//                  out.close();


自动转换为json

public static String transToJsonStr(Object obj){

ObjectMapper mapper = new ObjectMapper();
//     mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); //表示自动去掉值为null的
StringWriter sw = new StringWriter();
String strJson = null ;
try {
mapper.writeValue(sw, obj);
strJson = sw.toString();
} catch (JsonGenerationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return strJson ;
}

public static void outJsonStrAndColse(HttpServletResponse resp,String jsonStr){
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html");
PrintWriter out;
try {
out = resp.getWriter();
out.write(jsonStr);
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


User userA = new User("张三a", "123", 12, "男");
User userB = new User("张三b", "123", 122, "女");
List list  = new  ArrayList<User>();
list.add(userA);
list.add(userB);

String jsonstr = JsonUtil.transToJsonStr(list);
JsonUtil.outJsonStrAndColse(resp, jsonstr);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: