javascript - spring mvc json响应ajax

标签 javascript ajax json spring

我在进行 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;
}

故事首先向购物车添加一个具有特定“尺寸 = XL”和“颜色 = 红色”的产品,一切都很顺利,直到我更改了颜色值,例如“R'NB”和抛出 ajax 异常(JSON.parse:错误的转义字符)

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

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

最佳答案

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

关于javascript - spring mvc json响应ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26651277/

相关文章:

javascript - this.refs 与表单使用 react 中的值

javascript - 在 window.onload 上使用 AJAX 加载内容

javascript - 更新机器人缓存 Discord.js v12

javascript - XMLhttprequest.send 在 PHP 中给出空白数组

javascript - 从 JSON 响应创建 Ember 对象并使用 Handlebars 显示

javascript - 如何使用 JavaScript 删除数组中的整列

javascript - 如何在 Express 中设置 json 响应的路由?

javascript - Node : Typescript export expressjs from wrapper

jquery .each() 和 $.post() 仅适用于 1 个元素

javascript - 在 PHP 和 Ajax 中构建安全测验的好方法