【问题标题】:Spine.js AJAX fetching record from serverSpine.js AJAX 从服务器获取记录
【发布时间】:2013-03-24 17:24:21
【问题描述】:

我有一个简单的应用程序,它显示记录列表,用户也可以通过 id 编辑 barticular 记录。 因为列表很大,所以我不会全部获取,而是通过Product.fetch(data: $.param(page: 1)) 获取部分内容。

然后,当有人尝试编辑记录时,我调用Product.find(id),如果记录已经用fetch 预取,那么它工作正常,但是当尚未获取记录时,我收到如下错误:"Product" model could not find a record for the ID "1152"

所以,问题是为什么find 不执行 ajax 调用以及如何使其执行它或者是否存在其他解决方案?

【问题讨论】:

    标签: coffeescript spine.js


    【解决方案1】:

    Spine.find 只查看已加载的记录。执行ajax 请求不是find 的功能。所以你必须尝试捕捉你的发现,当它给出这个错误时,你必须获取它。

    id = 1152
    
    try
      product = Product.find id
    catch err
      Product.fetch(
        data:
         id: id
        processData: true
      )
      # Try again after Product.refresh
    

    老实说,我认为这不是一个好方法,但脊椎是这样工作的……我宁愿让它自动获取它,或者至少不会在查找时抛出错误。

    【讨论】:

    • 我们正在努力改进 Spines 的查找和存在功能。不再抛出错误并允许 find 接受失败条件的回调。
    • 是的,我在 github 存储库中看到了这个。我真的很高兴这会改变。感谢您在 Spine 中所做的所有工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 2023-03-17
    • 2020-11-03
    • 2015-02-12
    • 2015-08-27
    • 2010-11-08
    相关资源
    最近更新 更多