利用ajax实现前后台交互

矫情吗;* 2023-06-19 07:25 92阅读 0赞

HTML界面(重要元素id=”userRole”)

  1. <div>
  2. <label >用户角色:</label>
  3. <!-- 列出所有的角色分类 -->
  4. <select name="userRole" id="userRole"></select>
  5. <font color="red"></font>
  6. </div>

Js利用ajax发送请求(重要元素:

  1. type:"GET",//请求类型
  2. url:"/ajax",//请求的url
  3. data:{method:"provider"},//请求参数
  4. dataType:"json",//ajax接口(请求url)返回的数据类型
  5. success:function(data) //从servlet传过来的参数 data[i].id,data[i].proName

)

  1. $.ajax({
  2. type:"GET",//请求类型
  3. url:"/ajax",//请求的url
  4. data:{method:"provider"},//请求参数
  5. dataType:"json",//ajax接口(请求url)返回的数据类型
  6. success:function(data){//data:返回数据(json对象)
  7. if(data != null){
  8. $("select").html("");//通过标签选择器,得到select标签,适用于页面里只有一个select
  9. var options = "<option value=\"0\">请选择</option>";
  10. for(var i = 0; i < data.length; i++){
  11. //alert(data[i].id);
  12. //alert(data[i].proName);
  13. options += "<option value=\""+data[i].id+"\">"+data[i].proName+"</option>";
  14. }
  15. $("select").html(options);
  16. }
  17. },
  18. error:function(data){//当访问时候,404,500 等非200的错误状态码
  19. validateTip(providerId.next(),{"color":"red"},imgNo+" 获取供应商列表error",false);
  20. }
  21. });

servlet控制层 (我们所关注的是

  1. String json = JSON.toJSONString(list);
  2. resp.getWriter().write(json);
  3. 这两行代码。主要就是获取一个数组对象list,然后将它转化为JSON格式的数组传送给前端的data
  4. 注:我用的是response对象写入数据,浏览器解析时可能会出现乱码的问题
  5. 因此设置编码格式:resp.setContentType("text/html;charset=utf-8");)
  6. String method = req.getParameter("method");
  7. if(method.equals("provider")){
  8. IProviderService providerService = new ProviderServiceImpl();
  9. ArrayList<Provider> list = providerService.selectAllProviderS();
  10. String json = JSON.toJSONString(list);
  11. System.out.println("providerJson"+json+'\n');
  12. resp.getWriter().write(json);
  13. }

发表评论

表情:
评论列表 (有 0 条评论,92人围观)

还没有评论,来说两句吧...

相关阅读

    相关 前后交互

    [通过AngularJS实现前端与后台的数据对接(一)——预备工作篇][AngularJS]       最近,笔者在做一个项目:使用AngularJS,从而实现前端与后