javascript-无法获取正确的网址问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-无法获取正确的网址问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2132字,纯文字阅读大概需要4分钟。
内容图文
![javascript-无法获取正确的网址问题](/upload/InfoBanner/zyjiaocheng/679/f49aff23b3d8404c8d7a03f316886d0e.jpg)
我有一个带路由器外观的opboneJS应用程序
var StoreRouter = Backbone.Router.extend({
routes: {
'stores/add/' : 'add',
'stores/edit/:id': 'edit'
},
add: function(){
var addStoresView = new AddStoresView({
el: ".wrapper"
});
},
edit: function(id){
var editStoresView = new EditStoresView({
el: ".wrapper",
model: new Store({ id: id })
});
}
});
var storeRouter = new StoreRouter();
Backbone.history.start({ pushState: true, hashChange: false });
和一个看起来像的模型:
var Store = Backbone.Model.extend({
urlRoot: "/stores/"
});
然后我的视图如下所示:
var EditStoresView = Backbone.View.extend({
...
render: function() {
this.model.fetch({
success : function(model, response, options) {
this.$el.append ( JST['tmpl/' + "edit"] (model.toJSON()) );
}
});
}
我以为提取时urlRoot会调用/ stores / ID_HERE,但是现在它不调用它,而是调用/ stores /,但是我不确定为什么以及如何解决此问题?
在devTools中,这是它要使用的网址:
GET http://localhost/stores/
解决方法:
这可能不是答案,因为它取决于您的实际生产代码.
通常,您输入的代码应该可以运行,甚至我看到一条评论说它可以在jsfiddle中运行.有两个原因可能会影响结果:
>在代码中,您更改了Backbone.Model.url()函数.默认情况下,url函数是
url: function() {
var base =
_.result(this, 'urlRoot') ||
_.result(this.collection, 'url') ||
urlError();
if (this.isNew()) return base;
return base.replace(/([^\/])$/, '$1/') + encodeURIComponent(this.id);
},
这是Backbone用于生成model.fetch();的URL的函数.
>当您声明商店模型与数据库中的模型一样时,您添加了一个自定义idAttribute.例如,您的数据库具有与id本身不同的id,但是在您的代码中,您仍然使用new Model({id:id});当您真正应该使用新的Model({customId:id});时.幕后发生的事情是您在url()函数中看到它检查模型是否为isNew().此函数实际上检查是否设置了id,但如果是自定义的,则检查以下内容:
isNew: function() {
return !this.has(this.idAttribute);
},
>您搞砸了Backbone.sync …可以做很多事情,除非我想在上面写论文,否则我什至不会开始.也许您遵循了一个教程,却不知道它可能会影响其他代码.
>您将model.fetch()称为“ la” $.ajax样式:
model.fetch({
data: objectHere,
url: yourUrlHere,
success: function () {},
error: function () {}
});
这将覆盖Backbone自动化的强大功能. (我认为同步是从这里接管的,请不要在此引用我的意思).
参考:Backbone annotated sourcecode
内容总结
以上是互联网集市为您收集整理的javascript-无法获取正确的网址问题全部内容,希望文章能够帮你解决javascript-无法获取正确的网址问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。