尝试设置query.limit(varname)并收到错误消息,指出'限制'只能设置为数字

时间:2016-12-06 23:47:47

标签: javascript parse-platform

我已经和Parse一起工作了一段时间并取得了巨大的成功。最近,我遇到了一个问题,迫使我转向最新的基于cdn的JavaScript API。在更改了我的解析API版本(通过cdn)之后,我立即开始收到此错误,这与我在代码中设置的简单query.limit(n)设置有关。

以下是我遇到的错误:

Uncaught Error: You can only set the limit to a numeric value
at ParseQuery.limit (parse-latest.js:6704)
at ParseTable.render (ParseTable.js:199)
at ParseTable (ParseTable.js:52)
at HTMLDocument.<anonymous> (players.php:137)
at l (jquery-1.8.3.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.8.3.min.js:2)
at Function.ready (jquery-1.8.3.min.js:2)
at HTMLDocument.A (jquery-1.8.3.min.js:2)

请参阅下面的ParseTable.js:199 - 再次,此行已经工作了几个月,并且在API换出后才进入berzerk。

},
            render: function(){
                this.spin(true);
                if(!this.DOM){
                    this.init(); // ONE TIME CALL
                }

                this.query.startsWith(this.opts.searchColumn, input)
                this.query.equalTo(this.opts.primaryKeyCloudColumn, this.opts.username)
                alert(this.pageSize);             <--- this returns 10  -----------
                this.query.limit(this.pageSize)   <--- this is line 199 ----

                if(this.page>1)
                    this.query.skip((this.pageSize*this.page)-this.pageSize)
                else 
                    this.query.skip(0) // unsetting skip

                if(this.sortBy)
                    if(this.sortOrder==='ascending')
                        this.query.ascending(this.sortBy)
                    else 
                        this.query.descending(this.sortBy)

                this.query.find({

                    success: function(results) {

                        if(!results.length){

任何想法都赞赏!

1 个答案:

答案 0 :(得分:1)

我发现由于某种原因,我的query.limit(n)值被调用的API函数作为字符串接收。

我使用以下内容修复了它 -

    this.query.limit(Number(this.pageSize));

再次正常工作。