【问题标题】:spring mvc json response to ajaxspring mvc json对ajax的响应
【发布时间】:2014-10-30 11:02:15
【问题描述】:

我在进行 ajax 成功时遇到 json 解析 SyntaxError: "JSON.parse: bad escaped character" 的问题:要明确这是 ajax 代码:

 $("#ajaxform").submit(function(e) {
  $.ajax({
        url : '/cart/add',
        type : 'POST',
        contentType : 'application/x-www-form-urlencoded',
        data : $(this).serializeArray(),
        dataType: 'json',
        success : function(content) {
            $("#result").append(content.addToCartLayer);
            $.fancybox({
                href : '#result',
                showCloseButton : false,
                enableEscapeButton : false,
                hideOnOverlayClick:false
            });
        },
        error : function(xht, status, ex) {
            console.log("error : " + ex);//JSON.parse: bad escaped character
        }
    });

}

而java代码是:

@RequestMapping(value = "/cart/add", method = RequestMethod.POST, produces = "application/json")
public String addToCart(@RequestParam("productCodePost") final String code, final Model model,
        @Valid final AusAddToCartForm form, final BindingResult bindingErrors, final RedirectAttributes redirectModel)
{
    // MY LOGIC HERE
    return ControllerConstants.Views.Fragments.Cart.AddToCartPopup;
}

故事从向购物车添加一个具有特定“size = XL”和“color = RED”的产品开始,一切都很好,直到我改变了颜色值,例如“R'NB”和ajax 异常被抛出(JSON.parse: bad escaped character)

我尝试将@ResponseBody 添加到我的方法中,但没有结果。

这是我的问题,如果您需要更多说明,请告诉我

【问题讨论】:

    标签: javascript ajax json spring


    【解决方案1】:

    这是因为新颜色值中有一个无效字符:“R'NB”。 JSON 无法处理 ' 字符。 请看这里:How to solve JSON.parse: bad control character in string literal, in this code 希望这能回答你的问题。

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 2017-07-23
      • 2020-01-25
      • 2011-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多