zoukankan      html  css  js  c++  java
  • ajax使用时碰到的一些坑

    2021/02/20

    1、ajax向后台传递参数为null

    今天在使用ajax传参时碰到了后台接收参数为null的问题,ajax格式如下

    $.ajax({
                type: "POST",
                url: "/displayitem",
                data: {
                    "number":number
                },
                traditional:false,
                dataType: "json",
                success:function (data) {//成功后返回的数据
                    console.log(data);
                },
                error:function (data) {//失败后返回的数据
                    console.log(data);
                }
            });
    View Code

    后台接收函数如下

    @RequestMapping("/displayitem")
    @ResponseBody
    public String DisplayItem(String data){
         System.out.println(data);
         if (Integer.parseInt(data) == 1){
             return "是1是1";
         }else {
             return "不是1不是1";
         }
    }
    View Code

    然后就发生了data一直为空的问题。仔细检查后发现,ajax传参用的参数名是number,而我后台接收的参数名称是data,名字不相同就无法自动匹配了,所以解决方案是要么写成 public String DisplayItem(@RequestParam("number") String data) ,要么就写成 public String DisplayItem(String number)

    这个问题开始很基础的,只要再多细心一点就可以避免了。

    -----------------------------------------------------------------------------------------------------------

    2、ajax接收后台传回的json数据打印为undefined

    在后台,我使用的是阿里的fastjson进行json数据打包,打包完成后的数据的确是json格式,传回前端的同样是json格式,但在 $.each(data,function (index,element) 中使用,却无论如何也无法输出正常数据,经过大量查询网上资料、多次试错后,我发现问题很有可能出在json对象和json字符串之间的转换,我修改了后端的json打包方式,原本的打包方式是

    String jsonStr = JSON.toJSONString(itemInformation);
    jsonArray.add(jsonStr);

    这样是将一个json字符串放入了json数组中,修改后的打包方式为

    JSONObject jsonObject = (JSONObject)JSONObject.toJSON(itemInformation);
    jsonArray.add(jsonObject);

    这样直接将一个json对象放入json数组中,果然,传递后的data可以正常地显示了。

    ==========================================================================================================

  • 相关阅读:
    十问5.12汶川大地震
    JZ035数组中的逆序对
    JZ037数字在排序数组中出现的次数
    JZ039平衡二叉树
    JZ033丑数
    JZ040数组中只出现一次的数字
    JZ032把数组排成最小的数
    JZ036两个链表的第一个公共结点
    JZ034第一个只出现一次的字符位置
    JZ031从 1 到 n 整数中 1 出现的次数
  • 原文地址:https://www.cnblogs.com/YXSZ/p/14414669.html
Copyright © 2011-2022 走看看