【问题标题】:Backbone fetch does not return anything主干提取不返回任何内容
【发布时间】:2018-05-18 13:26:42
【问题描述】:

我正在尝试创建一个从 servlet 获取数据的主干模型的简单示例。

我有这个:

require(["backbone"],function(Backbone)


var myDataModel = new (Backbone.Model.extend({

    initialize:function(){
        this.set({title:"My First Backbone",data:new Date()});
    },

    setTitle:function(title){       
        this.set({title:title});        
    },

    setData:function(data){     
        this.set({data:data});      
    },

    getTitle:function(){        
        return this.get("title");       
    }, 

    getData:function(){     
        return this.get("data");        
    },
    url:"http://........../BackboneApp/Todo",

    parse:function(response,xhr){


        console.log(response);

    }

}));

myDataModel.fetch().done(function(s){console.log(s)});

我的 servlet 是这样的:

public class TodoServlet extends HttpServlet  {


public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String text = "{id:1,title:'harry',data:'sdsd'}";
    response.setContentType("application/json");  // Set content type of the response so that jQuery knows what it can expect.

    response.getWriter().write(text);       // Write response body.
}

}

模型内部的 parse 函数不执行,done 方法也不执行。但是 fail 方法可以正常返回响应对象。

【问题讨论】:

  • 你返回的 HTTP 状态码是什么?

标签: javascript servlets backbone.js


【解决方案1】:

您的 JSON 字符串无效。应该是

"{"id":1,"title":"harry","data":"sdsd"}"

还要确保根据操作结果返回成功的 HTTP 状态码,否则会调用错误回调。

【讨论】:

    猜你喜欢
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 2016-04-25
    • 2018-05-09
    • 1970-01-01
    • 2020-04-27
    • 2019-04-06
    相关资源
    最近更新 更多