发表于: 2018-02-05 23:51:52

0 776


今天完成的事:

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有个中转过程。



返回列表 返回列表
评论

    分享到