$.ajax({
        type: 'POST',
        url: '/users',
        data: {
            _method : 'PUT',
            user : {
                guides : {
                    step1 : true,
                    step2 : true
                }
            }
        }
    });


是否正确保存?我想要这个Rails序列化字段中的json数据,但它的保存错误如下,这会导致错误。

用户指导:

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


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

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


它输出==而不是预期的:

任何帮助表示赞赏。谢谢

最佳答案

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

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


应该可以。另外,也许我不确定100%,但是您可能不需要在上面使用html_safe,因为它已经被转义了,尽管无法确定它将如何在视图中呈现

关于javascript - 这是jQuery AJAX发布保存数据的方式不正确吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10274070/

10-12 00:04