SpringBoot ajax发送请求到后台接受完整例子

  • A+
所属分类:ajax SpringBoot

前端ajax写法:

  1. function middleCategoryChange(url) {
  2. var middleCategory = $("select[name='middleCategory']").val();
  3. var <a href="http://zpycloud.com/archives/tag/json/" title="查看与 json 相关的文章" target="_blank">json</a> ={};
  4. json.middleCategory = middleCategory;
  5. var windowToken = $('input[name="windowToken"]').val();
  6. $.ajax({
  7. async: true,
  8. headers: { "X-CSRF-Token": windowToken },
  9. url : url,
  10. type : "post", //使用post方法
  11. contentType: "application/json", //指定为json格式,不然后台接受会报错
  12. data : JSON.stringify(json), // 用JSON.stringify转换为json对象,不然后台接受的值不对
  13. cache: false,
  14. dataType: "json"
  15. }).done(function(data, status, jqxhr) {
  16. var minorCategoryList = data[0];
  17. var subCategoryList = data[1];
  18. if (minorCategoryList) {
  19. $("select[name='minorCategory']").empty();
  20. for(var i = 0; i < minorCategoryList.length; i++) {
  21. $("select[name='minorCategory']").append("<option value='" + minorCategoryList[i].categoryCd + "'>" + minorCategoryList[i].categoryNm + "</option>");
  22. }
  23. }
  24. if (subCategoryList) {
  25. $("select[name='subCategory']").empty();
  26. for(var i = 0; i < subCategoryList.length; i++) {
  27. $("select[name='subCategory']").append("<option value='" + subCategoryList[i].categoryCd + "'>" + subCategoryList[i].categoryNm + "</option>");
  28. }
  29. }
  30. }).fail(function(data, status, jqxhr) {
  31. alert("error!");
  32. });
  33. }
function middleCategoryChange(url) {
  var middleCategory = $("select[name='middleCategory']").val();
    var <a href="http://zpycloud.com/archives/tag/json/" title="查看与 json 相关的文章" target="_blank">json</a> ={};
    json.middleCategory = middleCategory;
    var windowToken = $('input[name="windowToken"]').val();
    $.ajax({
      async: true,
      headers: { "X-CSRF-Token": windowToken },
        url  : url,
        type : "post", //使用post方法
        contentType: "application/json", //指定为json格式,不然后台接受会报错
        data : JSON.stringify(json),   // 用JSON.stringify转换为json对象,不然后台接受的值不对
        cache: false,
        dataType: "json"
      }).done(function(data, status, jqxhr) {
       var minorCategoryList = data[0];
       var subCategoryList = data[1];
        if (minorCategoryList) {
          $("select[name='minorCategory']").empty();
          for(var i = 0; i < minorCategoryList.length; i++) {
            $("select[name='minorCategory']").append("<option value='" + minorCategoryList[i].categoryCd + "'>" +  minorCategoryList[i].categoryNm + "</option>");
          }
        }
        if (subCategoryList) {
          $("select[name='subCategory']").empty();
          for(var i = 0; i < subCategoryList.length; i++) {
            $("select[name='subCategory']").append("<option value='" + subCategoryList[i].categoryCd + "'>" +  subCategoryList[i].categoryNm + "</option>");
          }
        }

      }).fail(function(data, status, jqxhr) {
        alert("error!");
      });


}

后台代码:

controller

  1. @RequestMapping("minorCategory/search")
  2. @ResponseBody
  3. public List<List<CategoryEntity>> minorCategorySearch(
  4. @RequestBody ProductFormEntity formEntity) throws JSONException {
  5. // 后台接受参数时需要加上 @RequestBody注解,头部需要加上@ResponseBody注解
  6. List<CategoryEntity> minorCategoryList
  7. = categoryUtil.getMinorCategoryList(formEntity.middleCategory);
  8. List<CategoryEntity> subCategoryList
  9. = categoryUtil.getSubCategoryList(formEntity.middleCategory, null);
  10. List<List<CategoryEntity>> list = new ArrayList<>();
  11. list.add(minorCategoryList);
  12. list.add(subCategoryList);
  13. // 因为需要返回两个List,所以返回的是list的list
  14. return list;
  15. }
@RequestMapping("minorCategory/search")
    @ResponseBody
    public List<List<CategoryEntity>> minorCategorySearch(
            @RequestBody ProductFormEntity formEntity) throws JSONException {
         // 后台接受参数时需要加上 @RequestBody注解,头部需要加上@ResponseBody注解

        List<CategoryEntity> minorCategoryList
                = categoryUtil.getMinorCategoryList(formEntity.middleCategory);

        List<CategoryEntity> subCategoryList
                = categoryUtil.getSubCategoryList(formEntity.middleCategory, null);

        List<List<CategoryEntity>> list = new ArrayList<>();
        list.add(minorCategoryList);
        list.add(subCategoryList);
        // 因为需要返回两个List,所以返回的是list的list
        return list;
    }

formEntity

  1. public String middleCategory;
  2. public String minorCategory;
  3. public String subCategory;
public String middleCategory;

public String minorCategory;

public String subCategory;