Javascript 如何访问主干数据服务器端
我有一个主干模型,我用它调用fetch。我有一个flask服务器,需要在该服务器上访问主干模型的id。我似乎无法在服务器上获得模型的id。如何访问我的代码中的Javascript 如何访问主干数据服务器端,javascript,python,backbone.js,flask,Javascript,Python,Backbone.js,Flask,我有一个主干模型,我用它调用fetch。我有一个flask服务器,需要在该服务器上访问主干模型的id。我似乎无法在服务器上获得模型的id。如何访问我的代码中的entityId BB.Politician = Backbone.Model.extend({ defaults: { type: "Politician" }, url: "/my_url_here" }); var currentUser = new BB.Politician({"entity
entityId
BB.Politician = Backbone.Model.extend({
defaults: {
type: "Politician"
},
url: "/my_url_here"
});
var currentUser = new BB.Politician({"entityId": "1625"});
currentUser.fetch({
//method: "POST",
success: function(user){
currentUserView.render();
}
});
#Flask server code
@app.route('/my_url_here', methods=['GET', 'POST'])
def return_poitician():
print request
print request.args
print request.values
#none of the above print statements are giving me the "entityId"
return data
我还尝试在路由中添加id,但在执行fetch()
时抛出了404错误:
@app.route('/my_url_here/<entityId>', methods=['GET', 'POST'])
def return_poitician(entityId):
print entityId
@app.route('/my\u url\u here/',方法=['GET','POST'])
def返回\u政策专员(实体ID):
打印实体ID
让主干构造GET,它看起来像:
"/my_url_here/" + this.get('id'); // this refers to model
变成
"/my_url_here/1625"
Backbone.Model.url
还接受函数作为值,这样您就可以定义自己构建url的逻辑。例如,如果必须保留entityId
,则可以构建url
如下:
url: function () {
return "/my_url_here" + this.get('entityId');
}
这是一件奇怪的事。我尝试将
entityId
切换为简单的id
,但它没有注册/将id附加到url上。我的印象是,这就是它处理模型的方式,它查询带有模型的url。我不知道为什么它没有在我的应用程序上注册。但是,将其切换到您答案第二部分中的函数是有效的。谢谢。如果您的模型没有集合,那么您应该使用urlRoot
而不是url
,请参见此处:这将对此进行解释。谢谢你的帮助。我想我需要重新阅读文件了。
"/my_url_here/1625"
url: function () {
return "/my_url_here" + this.get('entityId');
}