首页 > Backbone.js开发中sava PUT的问题?

Backbone.js开发中sava PUT的问题?

var Model=Backbone.Model.extend({
    url:function(){return this.id ? "data/cart/" + this.id + ".php": "data/cart.php"}
});


view中的一段

this.model = new Model();
this.model.clear();
this.model.set(data);
this.model.save("", "", {
    success: function(e, resp, n) {
        $.indicator("hide");
    },
    error:function(resp){
        console.log("save error");//一直执行这里,他已经200状态了了
    }
});

问题为什么xhr都200了还会执行error里面的,这个不是表示访问地址失败?


看看xhr请求的response头的Content-Type是不是application/json


Backbone.emulateHTTP = true;
Backbone.emulateJSON= true;

如果使用不支持Backbone默认REST/ HTTP方式的传统网络服务器,那么你可以选择开启Backbone.emulateHTTP。 设置这个选项为true,将伪造PUT, PATCH ,DELETE和HTTP POST请求,设定使用真实的方法在X-HTTP-方法- 覆盖头部。 如果emulateJSON开启,方法将被传递作为additional _method参数。

或者就是这样

if($_SERVER['REQUEST_METHOD']=="PUT"){
    //这里一定要传回一个值,不然就会直接执行error//之前我就是给空值了导致的问题
}
【热门文章】
【热门文章】