开发者

model.fetch always going to error callback

var mdl = Backbone.Model.extend({
            defaults:{
                url:'/displayPostVariables.php',
开发者_如何学Go                age:0
            },
            initialize:function(opt){                   
                this.url = function (){
                    return opt.url
                }
            }
        })
        mdli = new mdl({
            'name' :'rajkamal'
        })

        jQuery.ajaxSetup({
            'beforeSend': function(xhr) {
                xhr.setRequestHeader("Accept", "text/html")
            }
        })
        mdli.fetch({
            success : successcallback,
            error:errorcallback

        });

Ajax call is going but, always ends up with the error callback. Looks like this post model.fetch success callback does not fire on firefox, but works on chrome but there is no javascript code in that.

Thanks.


Try also passing dataType: 'json' to the fetch.


I had the same problem with fetch only ever returning my error callback.

In the end, it was because I had not specified an id in the object on the server like this:

{"title":"The Green Mile ","author":"Stephen King","img":"green_mile.jpg","id":2}

I think Backbone expects certain properties to be present in the JSON, though I was unable to find any documentation about this. The way I solved it was to do model.save() and to look at the object that was being saved.


For reference, I had the same issue because of an unsafe method incorrectly injecting NaN into the json response {"progress":NaN} which failed to be correctly parsed and forced the error callback


I had this issue, and it was due to using single quotes instead of double quotes to surround attributes and values in the API's JSON response.


Specify the url outside of defaults

= Backbone.Model.extend({
url : "/displayPostVariables.php",
defaults:{

},
validation: {

      }

});

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜