0

我正在使用一个 spin.js 应用程序和一个 django restful 后端。输入上的 keyup 事件的简单绑定会触发我的控制器中的一个函数,该函数试图 updateAttribute 某个模型记录。我在控制器中做了一个 log.console,似乎所有传递给 updateAttribute 的值都是正确的,并且记录确实被更新了。但是,当我运行我的应用程序时,数据库表只更新了输入字段中的前几个(或前几个)字符,而不是传递给文件的整个字符串。

知道为什么会发生这种情况吗?为什么 updateAttribute 只获取字符串的第一个字符并更新记录,而不是整个内容?今天一直在尝试修复此错误并且非常沮丧。

以下是我的代码的相关摘录:

# below are my key bindings for keyup in my input fields and textareas 
events:
  'click a.social-tab' : 'selectTab'
  'keyup input' : 'updateDraggableText'
  'keyup textarea' : 'updateDraggableText'

# ...

# below are excerpts for my callback function
# below grabs the record to be updated
draggable = @parent.draggables()[index]

# update field attribute with value of txt
draggable.updateAttribute field, txt
4

1 回答 1

0

经过一些实验后,似乎 django 后端在太多快速、频繁的连接(即,每个键按下一个请求)之后没有更新 PUT 请求。现在我在前端解决了这个问题,方法是排队使用 setTimeout 调用 updateAttribute,将引用(返回)存储在全局变量中,如果在前一个 updateAttribute 请求执行之前请求了另一个 updateAttribute 请求,则调用 clearTimeout。这样,在键入时只会对记录进行最后一次(相关)更新。

于 2013-07-12T18:12:20.770 回答