邢小泽
2017-05-21 12:49
采纳率: 14.3%
浏览 4.6k

ssm怎么利用ajax向前台传数据?

在controller中往前台传的是return?还是request.setAttribute()里的值?
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("output").innerHTML=xmlhttp.responseText;

}
}
xmlhttp.open("POST",url,true);
xmlhttp.send();

    我的controller(但是,我的前台这俩都获取不到。。)
    String code = request.getParameter("code"); 
request.setAttribute("hiao", "ddd");

    return "nihao";
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • Laherz 2017-05-22 06:14
    已采纳

    第一步:确定后端的数据传递到前端了,打开谷歌浏览器F12->Network->XHR->点击你的异步请求
    第二步:确认信息,看到Headers 是你的请求头 下面是你的入参信息->点击Response 这个是你后端响应的信息

    确保都是正确了那么就开始输出了。
    后端控制器不应该是把输出参数放入请求里面了,这一步你是错误的,
    你的第一步是获取请求的code参数,这步有没有数据过来你自己测试下,下一步就错了,
    要将服务端数据发送到前端使用异步,需要一个服务端的响应,你需要获取HttpServletResponse这个对象,
    response.getWriter().write("输出内容");
    方法是void;
    问题解决了
    console.log(xmlhttp.responseText); 看看控制台输出的啥。

    点赞 评论
  • glg_6298 2017-05-21 13:45

    String code=request.getParameter("code");//获取
    session.setAttribute("code",code);//设置session属性code,值为code
    String c=(String)session.getAttribute("code");//通过getAttribute()方法 获取code属性值

    将session 对象加上去,试试这样行不行?

    点赞 评论
  • blownewbee 2017-05-21 16:08
    点赞 评论

相关推荐 更多相似问题