当前位置: 首页 > 知识库问答 >
问题:

URL参数中的单引号不会被替换和编码

宋鸿德
2023-03-14

在我的代码中,我试图获得一个值,该值是使用Spring控制器中的模型属性设置的,然后将其传递给Javascript函数,并将该值设置为URL中的参数。

控制器中的modelAttribute:

model.add属性(appName, appName);model.add属性(CloverAppType, CloverAppType);

视图中的javascript:

 <a data-toggle="tab" onclick="loadOrders()">Orders</a>

  function loadOrders() {
    var message = "${appName}".replace(/'/g, "%27");
    var x = encodeURIComponent(message);
    window.location = '/admin/business/${businessId}/order?cloverAppType=${cloverAppType}&appName='+x;
   }

问题是当appName中包含时,它会破坏javascript并给出未捕获的语法错误:意外标识符未捕获的引用错误:未在HtmlanchoreElement中定义loadOrders。在浏览器控制台上单击“错误”。

但是如果我硬编码的值Poppo的Taqueria-Outpost它被替换和编码。

如何避免这种情况,并传递带有'字符的appName值作为URL的aparameter?


共有1个答案

沈骞仕
2023-03-14

改变

var message = "${appName}".replace(/'/g, "%27");

var message = `${appName}`.replace(/'/g, "%27");
 类似资料:
  • 问题内容: 我有这行工作正常: 但是我想使用SQLite参数替换而不是字符串替换(因为我在这里看到这更安全)。 这是我的(失败)尝试: 但是此行返回: ‘提供的装订数量不正确。当前语句使用0,并且提供了1。 因此,我声明的左部分无效。我正在提供一个绑定(名称,以t表示),但似乎没有解析问号(?)。如果删除围绕?的引号,则可以使用。但是我希望这些报价保持不变,因为我记得在某些情况下需要使用这些报价。

  • 本文向大家介绍js 单引号替换成双引号,双引号替换成单引号的实现方法,包括了js 单引号替换成双引号,双引号替换成单引号的实现方法的使用技巧和注意事项,需要的朋友参考一下 1.双引号替换成单引号 2.单引号替换成双引号 以上这篇js 单引号替换成双引号,双引号替换成单引号的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 对于PHP中的自定义脚本解析器,我想替换包含双引号和单引号的多行字符串中的一些单词。但是,只能替换引号之外的文本。 例如,我想把“苹果”换成“梨”,但只在引用句子之外。所以在这种情况下,只有“许多苹果从树上掉下来”里面的“苹果”才是目标。 以上将给出以下输出: 我怎样才能做到这一点?

  • 问题内容: 如何使用PHP 用(我认为其称为单引号)替换(我认为它称为双引号)? 问题答案: 或重新分配

  • 问题内容: 因此,我正在编写一个程序,将文本文件分解为单词,然后将列表写入新的文本文件。 我遇到的问题是我需要列表中的字符串使用双引号而不是单引号。 例如 我得到这个当我想这个 这是我的代码 我是python的新手,对此一无所获。有人知道如何解决吗? [编辑:我忘了提及我在arduino项目中使用的输出,该项目要求列表具有双引号。 问题答案: 您无法更改的工作方式。 如何使用用于字符串的JSON格