无法使用 ID 在服务器上进行更新

2024-01-02

我正在更新表单,并且想使用 id 在服务器上发出更新请求 我的模型是:

    var CampaignEditModel = Backbone.Model.extend({
    urlRoot:"http://localhost:3033/campaign/update/",
    url : function(){
       var url = this.urlRoot + this.id;
        return url;
    },
    idAttribute: "_id",
    defaults:{
        "id":null ,
        "Name" :""            
    }
});

这里调用渲染函数:

  $contents.empty().append(new EditView({model:editCampaigns}).render({id:id}).el);

渲染函数是:

render: function(options){
        this.$el.append( _.template(EditTemplate));
        this.model.set({"id":options.id})
        console.log(this.model.get("id"));
        this._modelBinder.bind(this.model, this.el);
        return this;
    },
    events: {
        'click .saveCampaign ': 'save'

    },
    save:function(){
        this.model.set({
            "Name" :$('#edname').val(),
        });
        this.model.save(null, {success: function(data){
            console.log("data:" + data);
            require(['campaignroute'],function(routes){
                var router = routes.pageRouter;
                router.navigate('gridView', {trigger: true});
            });
        }});
        return false;
    }

问题是即使我在模型中设置了一个 id,当调用 save 方法时仍然如此 请求是这样的

http://localhost:3033/campaign/update/undefined

控制台显示错误:

Failed to load resource: the server responded with a status of 404 (Not Found)

如何解决这个问题呢?


而不是通过options根据您的习惯render(options)功能和设置模型id在那里,直接将其设置在editCampaigns模型,进入之前render(options):

editCampaigns.set('id', id);
$contents.empty().append(new EditView({model:editCampaigns}).render().el);

并删除多余的

this.model.set({"id":options.id})

from render(options)options范围。它应该类似于这样:

render: function(){
    this.$el.append( _.template(EditTemplate));
    console.log(this.model.get("id"));
    this._modelBinder.bind(this.model, this.el);
    return this;
}

您的模型还有一个额外的url功能:

url : function(){
   var url = this.urlRoot + this.id;
    return url;
}

你不需要这个,因为模型'id之后自动附加urlRoot.


无关对于你的问题我看到你用过

http://localhost:3033/campaign/update

定义您的更新 URL。您使用的 HTTP 方法已经说明了将执行什么样的操作,这就是为什么您可以(并且应该)编写不带动词的 URL 的原因。只需删除多余的/update.

以下是有关最佳实践的快速摘要:如何创建没有动词的 REST URL? https://stackoverflow.com/questions/1619152/how-to-create-rest-urls-without-verbs

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 ID 在服务器上进行更新 的相关文章

随机推荐

  • OdbcCommand.使用表名进行参数化

    我在对 C 中的 odbc 驱动程序的 Odbc 连接执行参数化 sql 查询时遇到问题 列名和表名可以通过 Web GUI 进行配置 所以我希望它免受注入 using OdbcCommand command connection Crea
  • MVC 中的 CMS 路由

    我正在 php 中创建自己的 MVC 框架 作为学习更高级编程的一种手段 我已经启动并运行了框架 但是我对当前的路由方法有一个问题 我希望该框架支持后端 cms 以补充前端网站 问题是我的路由结构的工作方式如下 mywebsite com
  • 匿名类型中的特殊字符

    我想创建一个变量名称中带有特殊字符的匿名类型 例如我有这个 new status Active 我想要类似的东西 new status Active exists true 这最终会序列化为 JSON 所以我知道我可以使用 JObject
  • 如何使用 SXSSF 写入现有文件?

    我有一个 xlsx 文件 其中包含多个包含不同数据的工作表 所有sheet中一张sheet需要容纳近10万行数据 数据需要使用java配合poi编写 这对于 SXSSFWorkbook 来说似乎非常快速和简单 我只能在内存中保留 100 行
  • where 子句中的多个“in”语句需要相互匹配

    我有一个很长的查询 本质上是以下查询的扩展 update property lease period set scca uplift 110 scca notes code 21006 where suite id CCBG08 and l
  • Laravel 服务提供者和服务容器

    在 Laravel 中访问查询 我们使用DB facades DB select 来自阿兰斯托姆网站http alanstorm com binding objects as laravel services http alanstorm
  • 从日志文件中提取特定行的数据

    我希望从长日志文件中的表中提取并打印特定行 它看起来像这样 XSCALE VERSION July 4 2012 4 Jun 2013 Author Wolfgang Kabsch Copy licensed until 30 Jun 20
  • Leaflet.js:WMS 图层样式

    我有一个 Leaflet javascript Web 应用程序 它使用 WMS 来调用 GeoServer 返回的对象是Geometry加上属性 虽然几何图形 多边形 可以像美国的县一样渲染良好 但我需要根据县人口使县图层显示不同的颜色
  • 使用具有严格内容安全策略的 Angular Material

    我正在使用 Angular 6 和 Angular Material 6 开发企业应用程序 现在我必须为一个具有非常严格的 CSP 的新客户构建项目 那就是 内容安全策略 default src self 该政策无法修改 我搜索了以前的答案
  • 异步/等待 Lambda

    我有一个奇怪的问题 结合 async await 使其工作 我创建了一个小程序 它基本上应该处理每个操作的 try catch internal static void HandledAction Action action Info in
  • 将 arrayList 数据加载到 JTable 中

    我正在尝试通过名为的方法设置项目FootballClub到目前为止还好 但后来我从中创建了一个 arrayList 但不知何故找不到一种方法将此信息存储到 JTable 中 问题是我找不到设置固定行数的方法 这是我的代码 起始联赛类别 im
  • 如何使用 Django Usurena“mugshot”模板变量

    我正在尝试在 Django 网站中使用 Userena 但我似乎不知道如何使用模板标签来显示照片 我尝试了以下方法来输出图像标签中的 URL img src and img src 有人有一些见解吗 Thanks 基于 alican 的答案
  • 如何使用 openssl 创建包含 CRL 分发点的证书?

    我在使用 openssl 创建包含用于测试的 crl 分发点的 x509 证书时遇到问题 我检查了文档并找到了用于此目的的配置设置 crlDistributionPoints 不幸的是 openssl 始终生成 x509 版本 1 证书 而
  • 使用 ColdFusion 从 SQL 数据库抓取长文本,输出被截断

    我有一个 SQL 数据库ntext保存页面内容的字段 我正在使用 ColdFusion 查询信息并将其传递到表单中 该表格使用ckeditor来处理这个特定的字段 该字段目前包含大约4000个字符 在 ckeditor 窗口中查看时 似乎缺
  • 1l 表示长整型,1f 表示浮点型,1d 表示双精度型,那么字节呢?

    1l 表示长整型 1f 表示浮点型 1d 表示双精度型 那么字节呢 long l 1l float f 1f double d 1d byte b 1 相当于什么byte 它存在吗 不 没有后缀可以附加到数字文字上以使其成为byte See
  • 不透明内容到底意味着什么?

    Here http docs oracle com javase 7 docs api java nio file attribute BasicFileAttributes html isRegularFile 28 29我们有描述isR
  • PHP-PDO 获取以列作为索引、以列作为值的结果集[重复]

    这个问题在这里已经有答案了 您好 我有一个具有以下结构的表 date price 2014 02 19 34 2014 02 20 30 2014 02 21 28 目前 PDO FETCH ASSOC 返回一个格式如下的关联数组 arra
  • 如何在Android中每2个字符后连接特殊符号作为冒号

    我想连接或附加特殊字符作为冒号 String 中每 2 个字符之后 例如 原始字符串如下 String abc AABBCCDDEEFF 连接或附加冒号后如下 String abc AA BB CC DD EE FF 所以我的问题是我们如何
  • preg_replace、str_replace 和 substr_replace 在特殊条件下不起作用

    我有以下代码 这段代码找到字符串中的所有 html 标签 并将它们替换为 0 1 2 等 至少这是有意的 但不起作用 str some text a href review review a here a class abc href ab
  • 无法使用 ID 在服务器上进行更新

    我正在更新表单 并且想使用 id 在服务器上发出更新请求 我的模型是 var CampaignEditModel Backbone Model extend urlRoot http localhost 3033 campaign upda