【问题标题】:How can I serialize backbone model into URL如何将主干模型序列化为 URL
【发布时间】:2014-12-14 17:03:56
【问题描述】:

我想将简单应用程序的状态存储在模型中,并能够生成包含应用程序完整状态的 URL(即序列化模型)。有没有一种骨干惯用的方式来提供这样的功能?

相关:

【问题讨论】:

标签: javascript backbone.js


【解决方案1】:

Backbone 让您将模型序列化为 JSON,而不是 URL 参数语法。您可以将 JSON 字符串化,对其进行 url 编码,然后将其添加到 uRL ...

var json = yourModel.toJSON();
var jsonString = JSON.stringify(json);
var encoded = encodeURI(jsonString);
var url = 'www.example.com?model_json=' + jsonString;

...但我不会推荐它。 URL 参数从未被设计为以这种方式使用,您可能会遇到很多问题。一个问题是字符长度限制。作为this Stack Overflow answer explains,为了安全起见,url 需要限制为 2000 个字符。根据您在模型中放入的内容,您当然可以毫无意义地超越。

更好的方法是将模型保存在旨在保存它的某个地方,例如服务器上(毕竟,这正是 Backbone.Modelsave 方法的用途)或本地存储中。然后,您只需在 URL 中输入模型的 ID,您就可以使用该 ID 远程/从本地存储检索数据。

【讨论】:

    猜你喜欢
    • 2012-05-31
    • 2012-03-24
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多