这个jQuery AJAX帖子保存数据不正确吗?

Is this jQuery AJAX post saving data incorrectly?

本文关键字:数据 不正确 保存 jQuery AJAX 这个      更新时间:2023-09-26
    $.ajax({
        type: 'POST',
        url: '/users',
        data: {
            _method : 'PUT',
            user : {
                guides : {
                    step1 : true,
                    step2 : true
                }
            }
        }
    });

这是否正确保存?我希望这个 json 数据在 rails 序列化字段中,但它保存不正确,如下所示,导致错误。

用户引导:

--- "{'"step1'"=>'"true'", '"step2'"=>'"true'"}"

然后,当我在轨道视图中执行以下操作时:

guides = [<%= current_user.guides.try(:html_safe)%>];

它以 => 而不是预期的:输出。

首先,你可以尝试使用 JSON.stringify(),否则 jQuery 将使用 $.param() 来序列化你的数据。但您的主要问题是您想要一个 JSON 字符串,而不是生成的 YAML。就我现在而言,类似

guides = [<%= current_user.guides.to_json %>];

应该做这个伎俩。另外,也许我不是 100% 确定,但您可能不需要对此使用 html_safe,因为它已经转义了,尽管无法判断它将如何在视图中呈现