我有一个Angular 应用程序,我想在查询字符串中传递加号+,比如:

http://localhost:3000/page?name=xyz+manwal

当我点击此URL时,其转换为:

http://localhost:3000/page?name=xyz%20manwal

其中%20指空间.我如何防止这种转换?

推荐答案

我已经找到了解决方案,并将其发布以供将来参考.角js将+符号转换为%2B符号.

以下代码阻止:

.config([
    '$provide', function($provide) {
      $provide.decorator('$browser', function($delegate) {
        let superUrl = $delegate.url;
        $delegate.url = (url, replace) => {
          if(url !== undefined) {
            return superUrl(url.replace(/\%2B/g,"+"), replace);
          } else {
            return superUrl().replace(/\+/g,"%2B");
          }
        };
        return $delegate;
      });
    }
  ])

Angular相关问答推荐

在Angular 多选下拉菜单中实现CDK拖放排序的问题

从、管道和映射可观察到的逻辑?

更改物料设计中的复选框勾选 colored颜色

NG-BOOTSTRAPP SCROLLESPY没有高度就不能工作?

将sass与@Use语句一起使用时出现Angular 新的VITE构建器编译错误

当元素在元素上使用迭代变量时,如何重构ngFor?

如何将角17中的嵌套组件与独立组件一起使用?

如何使用来自不同可观测对象的值更新可观测对象

使用 Electron 打包器打包 Electron Angular 应用程序时无法加载资源

Angular 路由中的模块构建失败

Angular MSAL - 对 Bearer 令牌和 AUD 属性的怀疑

大型 Angular 12 应用程序 - 我如何管理 js 文件

Aws 代码部署在 BeforeBlockTraffic 步骤失败,即使在更新策略后也会超时

Angular 无法从后端获取数据到前端

设置 Angular Material Tooltip 的字体大小

Angular 2 - ngfor 没有包装在容器中

Angular 2 - 组件内的 formControlName

在 webpack 构建中包含 git commit hash 和 date

得到了预期表达式的插值 ({{}})

如何在 Angular 2 中动态添加和删除表单字段