Javascript Can';t将字符串保存到stackmob上的字符串数组中

Javascript Can';t将字符串保存到stackmob上的字符串数组中,javascript,backbone.js,coffeescript,stackmob,Javascript,Backbone.js,Coffeescript,Stackmob,这个软件有问题 这是todos coffeescript示例的一个变体 列表元素称为命题,它有两个字符串数组,一个是负数,一个是正数 在每个元素上找到的输入框正数和负数上输入的字符串应保存到这些数组中,并显示在元素下。 当我使用主干/localstorage(抱歉,如果我混淆了术语)作为我的数据存储时,这一切都起到了作用。 但当我把它移到Stackmob时,它停止了工作,在POST上产生了这个错误 {“error”:“字段负值是不兼容的类型,请检查您的架构;它是作为ClientDataStrin

这个软件有问题

这是todos coffeescript示例的一个变体

列表元素称为命题,它有两个字符串数组,一个是负数,一个是正数

在每个元素上找到的输入框正数和负数上输入的字符串应保存到这些数组中,并显示在元素下。 当我使用主干/localstorage(抱歉,如果我混淆了术语)作为我的数据存储时,这一切都起到了作用。 但当我把它移到Stackmob时,它停止了工作,在POST上产生了这个错误

{“error”:“字段负值是不兼容的类型,请检查您的架构;它是作为ClientDataString()传入的”}

而这个错误在PUT上

{“error”:“positive的类型无效,请检查您的架构”}

我检查了我的模式的正负值,结果显示array[string]

这是我保存字符串的代码:

    savepos: (el) ->
       @save (positive: @get('positive') + el)
发现于 类命题扩展了StackMob.Model

这是调用savepos函数的函数

        pushPosOnEnter: (e) ->
        if e.keyCode != 13 
           return
        Propositions.create( @newAttributesP() ) 
        @model.savepos ("<a href =\"#" + @inputp.val() + "\"><ul>" + @inputp.val() +   "</a></ul>") 
        @inputp.val('')
pushPosOnEnter:(e)->
如果e.keyCode!=13
返回
Propositions.create(@newattributes())
@model.savepos(“”)
@输入值(“”)
发现于 类命题视图扩展了主干

我将把我写的全部代码添加为注释,因为我没有足够的声誉来发布4个链接

列表元素称为命题,它有两个字符串数组,一个是负数,一个是正数

因此,
正数
是一个数组。然后执行此操作以添加另一个元素:

@save (positive: @get('positive') + el)
el
这里是一个字符串,
@get('positive')
是一个数组,
array+string
是另一个字符串,这解释了错误消息

我想你应该这样做:

a = _(@get('positive')).clone()
a.push(el)
@save(positive: a)
或者,如果您不介意在模型不知道的情况下更改模型的
正属性

a = @get('positive')
a.push(el)
@save(positive: a)
请注意,
get
返回对
模型
属性
中某些内容的引用,因此您可能希望在通过调用
push
更改返回的数组之前克隆该数组。如果您使用第二种方法,那么
@attributes['positive']
将被
推送更改,但是底层主干内容将不知道这一点,这对您来说可能是问题,也可能不是问题。我会小心出错并克隆它,即使调用会触发所有预期事件

列表元素称为命题,它有两个字符串数组,一个是负数,一个是正数

因此,
正数
是一个数组。然后执行此操作以添加另一个元素:

@save (positive: @get('positive') + el)
el
这里是一个字符串,
@get('positive')
是一个数组,
array+string
是另一个字符串,这解释了错误消息

我想你应该这样做:

a = _(@get('positive')).clone()
a.push(el)
@save(positive: a)
或者,如果您不介意在模型不知道的情况下更改模型的
正属性

a = @get('positive')
a.push(el)
@save(positive: a)

请注意,
get
返回对
模型
属性
中某些内容的引用,因此您可能希望在通过调用
push
更改返回的数组之前克隆该数组。如果您使用第二种方法,那么
@attributes['positive']
将被
推送更改,但是底层主干内容将不知道这一点,这对您来说可能是问题,也可能不是问题。我会小心出错,并克隆它,即使调用会触发所有预期事件。

我编写的全部代码:我编写的全部代码:谢谢你的回答,穆,你帮了我很多。谢谢你的回答,穆,你帮了我很多。