Servlet与Ajax实现前后端交互

在做前后端数据交互的时候遇见了一些问题,记录如下:
说明:jsp是已经引入jQuery过的

前端代码如下所示:
需要注意的是,dataType所规定的数据类型不是单向规定的,而是双向规定的,也就是无论是从前端向后台传输数据,还是从后台向前端传输数据,必定都是JSON类型的数据,否则报错,然后直接转到error,略过success

 <input type="button" id="inputObj" value="select"/>
  <script>
    $(function () {
      $("#inputObj").click(function () {
          $.ajax({
              type:"post",
              url:"wcc",
              data:{"text2":"1002"},
              dataType:"json",
              success:function (result) {
                alert("success")
                alert(result.wcc);
                  //result:返回结果
              },
              error:function (msg) {
                alert("error")
              }
          });
      })
    })
  </script>

这里可以查看前端向后台传递的参数:
这里可以查看前端向后台传递的参数这里可以查看后台向前端传递的参数:
这里可以查看后台向前端传递的参数
后端代码如下所示:
这里若要返回给Ajax数据,则返回数据必须为JSON类型,否则报错,前端直接转到error,一般来说以JSONObject封装较为方便,但是需要引入7个包(可以搜索下载)在这里插入图片描述不仅要引入这7个包,而且要讲这7个JSON包拷贝到Tomcat的lib目录下才可以,否则会爆如下 java.lang.NoClassDefFoundError: net/sf/json/JSONObject或其他 6 个error
下面提供了两种封装JSON数据的方法,jsonObject对象和name对象直接返回都能成功

        resp.setContentType("text/html;charset=UTF-8");
        PrintWriter out = resp.getWriter();
        
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("wcc","back");

        //String name = "{\"password\":\"123456\",\"username\":\"张三\"}";
        out.print(jsonObject);//后端向前端发送

©️2020 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值