使用 RequireJS 设置默认 API url 的主干集合

2023-12-05

如何为 Backbone 中集合和模型的所有请求设置默认 url/服务器?

示例集合:

define([
    'backbone',
    '../models/communityModel'
], function(Backbone, CommunityModel){
    return Backbone.Collection.extend({
        url: '/communities', // localhost/communities should be api.local/communities
        model: CommunityModel,
        initialize: function () {
            // something
        }
    });
});

我进行初始 AJAX 调用来获取我的设置,包括 API 的 url (api.local)。

如何重新路由请求而不将其传递给我的所有模型或对模型和集合中的 url 进行硬编码?


你的 url 接受一个字符串或一个函数。

通过您的设置 ajax 调用,您可以将其存储在正确的位置, 然后从函数中获取它

使用你的例子: 假设您的 ajax 调用将 url 保存在myApp.Settings.DefaultURL

define([
    'backbone',
    '../models/communityModel'
], function(Backbone, CommunityModel){
    return Backbone.Collection.extend({
        url: function(){
            return myApp.Settings.DefaultURL + '/communities';
        }, 
        model: CommunityModel,
        initialize: function () {
            // something
        }
    });
});

remark确保在设置之前触发该 url 时以某种方式捕获或处理该 url,如果您的初始 ajax 调用失败或需要时间,您的应用程序可能已经在没有设置设置的情况下启动,如果有人使用model.save()到那时,你就需要处理这个问题了。

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

使用 RequireJS 设置默认 API url 的主干集合 的相关文章

随机推荐

  • 使用 requests 和 BeautifulSoup 下载文件

    我正在尝试从以下位置下载一堆 pdf 文件here using requests and 美丽汤4 这是我的代码 import requests from bs4 import BeautifulSoup as bs ANO 2013 ME
  • 如何测量标记分割图像的平均厚度

    我有一张图像 我已经对该图像进行了一些预处理 下面我展示了我的预处理 img cv2 imread my drive image 69 tif 0 median cv2 medianBlur img 13 ret th cv2 thresh
  • 创建在插入时引发异常的触发器

    我的寒假大学任务很少 其中之一就是在桌子上创建触发器 PERSON ID Name Surname Age 触发器应该在用户插入具有无效 ID 的行时通知用户 有效性标准是 ID 长度为 11 位 我尝试写这样的解决方案 CREATE OR
  • 在 JavaScript 中将 ObjectID (Mongodb) 转换为字符串

    我想在 JavaScript 中将 ObjectID Mongodb 转换为字符串 当我从 MongoDB 获取对象时 它就像一个对象一样有 时间戳 秒 公司 机器 我无法转换为字符串 尝试这个 mongo shell objectId s
  • 计算 Spotfire 中特定行的同一列的差异

    我在 Spotfire 中使用计算列进行行差异计算时遇到问题 我想知道是否可以创建一个计算列来计算当前行与具有不同属性的下一行之间的差异 示例表可能是这样的 结果可能是这样的 基本行是 When type 1 则计算其电流之差value及其
  • Google Drive API V3 Javascript - 创建包含内容的文件

    这个问题之前已经被问过 但答案是使用 API V2 谷歌文档没有阐明如何使用 javascript 客户端代码创建包含其内容的文件 我尝试使用 Node 下列出的代码 但是 它只创建文件 不插入任何内容 这是我的代码 let fileMet
  • 子图中的 networkx 正在部分绘制轴框架之外的节点

    当我在子图中绘制 networkx 图时 一些节点在轴的框架中被部分切断 我已经尝试过使用所有不同类型的图表和布局 这始终是一个问题 它总是切断我的节点 就好像 networkx 在比实际更大的轴上绘制图表 这是一个最小的例子 plt su
  • Onpaint 事件(无效)在一段时间正常运行(运行时)后改变执行顺序

    我有 3 个数据图 它们是通过其绘制事件绘制的 当我需要将数据插入到图表中时 我调用控件 invalidate 命令 第一个控件的绘制事件实际上为其他 2 个图形创建了一个位图缓冲区 以避免重复长循环 因此无效命令按特定顺序排列 1 2 3
  • 返回 SQL 中列上所有可能的值组合

    如何返回 2 列中所有值组合的列表 以便它们成为 T SQL 中的新行 e g Col1 Col2 1 2 1 4 1 5 并将其转化为所有组合 1 2 1 4 1 5 2 4 2 5 4 5 假设至少是 SQL 2005CTE with
  • 在表单提交中实现 jQuery 确认模式?

    我正在使用 jQuery 模式确认 如下所示 function dialog confirm dialog resizable false height 190 width 330 modal true buttons Yes functi
  • 使用 MSI 连接 Azure SQL Server - Django

    我已使用以下命令成功连接 Azure SQL ServerAccessToken in the pyodbc 这里我没有使用username or password连接数据库 相反 我用了attrs before通行证token 这里我自动
  • 如何按文件拆分每个提交?

    我知道如何使用手动拆分提交git rebase i 但是如何按文件自动拆分分支中的每个提交 例如 提交A修改了3个文件 f1 f2和f3 拆分后 有 3 个提交 A f1 A f2 和 A f3 我想这样做是为了使主要重写变得更容易 因为我
  • 注入名称中带有点的工厂

    我需要在 Jasmine 中使用 angularjs 模拟注入方法来注入名称中带有点的服务 我尝试添加字符串标识符 但注入方法似乎不支持此操作 这不可能 beforeEach inject rootScope MyApp Factories
  • Android volley 自签名 HTTPS 信任锚未找到证书路径

    我是安卓新手 这个问题已经被问过很多次了 但我已经浏览了这里几乎所有的问题 我试图在 Node Js 服务器上使用自签名证书 使用express 并在 android 上使用 Volley 使用 http blog applegrew co
  • 如何在子活动中获取父活动的名称

    我如何获取子活动中父活动的名称 我有两项活动可以开始同一项活动 为了更好地理解 我有活动一 二 三 从活动一我可以开始活动三 从活动二我可以开始活动三 现在我有一个问题 我如何进入活动三 父活动的名称 因此 当我从活动一开始活动三时 我如何
  • ASP定时器控件正在刷新整个页面?

    我有一个 ASP 计时器控件 应该每三分钟运行一次 尽管我将计时器控件保留在更新面板中 但它每次运行时都会刷新整个页面 有没有只刷新页面的特定部分 而不刷新整个页面 div div
  • 如何在反应组件状态下修改对象内的数组

    我的应用程序中有以下状态 const activeChats setActiveChats useState id 1 name Luciana Gutierrez role HR Manager avatar avatar2 messag
  • 如何在Python中进行无限求和

    我正在从 Maple 转向 python 进行数学编程 作为其中的一部分 我试图找出什么是正确的工具来执行无限的数字求和 我想进行数值计算 例如 sum exp x 2 x 无穷大 无穷大 在 Maple 中这只是 evalf sum ex
  • 继承和扩展方法

    考虑这个简单的代码 public void Main var d new Derived test d public void test Base parameter parameter Validate public class Base
  • 使用 RequireJS 设置默认 API url 的主干集合

    如何为 Backbone 中集合和模型的所有请求设置默认 url 服务器 示例集合 define backbone models communityModel function Backbone CommunityModel return