发表于: 2018-02-05 23:51:52
0 775
今天完成的事:
1、七牛云,阿里云账号和密码都只能通过Spring的配置文件完成,这个和jdbc配置文件一样,没什么可说的。
2、ajax提交请求同时将返回的数据返回到jsp页面的body中,这是前天日报中提到没有解决的问题
稍微总结一下,
function test2() {
$.ajax({
// asynch:false,
type: "get", //以post方式与后台沟通
url :"/task4-1/12345", //与此页面沟通
dataType:"json",//返回的值以 JSON方式 解释
// data: data, //发给的数据
success: function(res) {//如果调用成功,res是接收controller中return的数据
var a=res.a; //将res中key=a的数据定义成一个变量a,
console.log(res)//在控制台输出
console.log(a)
if(a=="b"){ //判断语句,
alert("成功")
$("#qq").html(res.aa) //qq是jsp页面中要显示内容的id,res.aa是显示的内容
}else {
alert("失败")
}
这是a的值:<span id="qq"/>
@RequestMapping(value = "/12345", method = RequestMethod.GET)
@ResponseBody //返回的是数据,不是页面路径
public String test(HttpServletRequest request,HttpServletResponse response) {
System.out.println("进入第二测试方法");
//request.setAttribute("a","a");
Map map=new HashMap();
// 在map中添加数据
map.put("a","b");
map.put("aa","bb");
// 将map转为json格式
String json = JSONObject.fromObject(map).toString();
// 返回json数据,前台在ajax的回调函数中接收,success()的参数接收
return json;
}
之前不能完成数据显示有两点原因:
一是后台返回数据可以是map形式,多条数据一起返回,因为最终是返回数据而不是页面路径,不能用model方法
二是ajax回调函数接收到数据后如何在body页面显示,是这条命令
$("#qq").html(res.aa)
controller返回的数据--->ajax回调函数(success:function(参数))接收---->将需要的数据显示在body页面
并不是直接将后台数据显示在前台页面,中间在head的ajax有个中转过程。
评论