【问题标题】:append request param in double quotes在双引号中附加请求参数
【发布时间】:2016-04-26 04:20:37
【问题描述】:

var base = "/some/url?search=";
var value = '"VALUE IN QUOTES"';
$('#inner').append('<a href=' + '/some/url?search=' + value + '>link</a>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="inner"></div>

你好。

我的任务是为请求 url 添加双引号参数。结果 url 应该是

some/url?search="QUOTED VALUE WITH SPACES" "ANOTHER VALUE"

换句话说,它应该是带有双引号的单个字符串。

感谢您的帮助。

【问题讨论】:

  • 用来包装href值的引号在哪里?
  • var base = '"/some/url?search="'; 没有帮助
  • '&lt;a href=\'' + '/some/url?search=' + value + '\'&gt;link&lt;/a&gt;'你没有包装href值,你甚至没有使用base

标签: javascript quotes double-quotes


【解决方案1】:

你有两个问题。

  1. 编码数据以放入 URL 中
  2. 生成包含该内容的 DOM。

要对数据进行编码,请使用encodeURIComponent

var base = "/some/url?search=";
var value = '"VALUE IN QUOTES"';
var url = base + encodeURIComponent(value)

然后要构建 DOM,请使用 DOM 方法(或围绕它们的 jQuery 包装器)。 不要将字符串混在一起

$('#inner').append(
    $("<a />").attr("href", url).text("link")
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2023-03-19
    • 2016-09-22
    • 2011-12-12
    相关资源
    最近更新 更多