2015-02-10 36 views
2

浏览stackoverflow和jQuery文档后仍然有点困惑。如果我从输入字段获取并且使用字符串插值修改链接,我是否需要转义valuejQuery .val方法需要转义吗?

function updateLinks() { 
    var value = $('.dataTables_filter input').val() 
    $('.some-link').attr("href", "www.example.com/?query=" + value) 
} 
+1

是。是的,你会的。 “浏览器”将为您的HTML编码值,但不对其进行URL编码。 – 2015-02-10 14:36:12

+0

@frederichamidi但发送这样的格式不正确的请求会使浏览器在发送时自动转换URL本身......我知道那不是重点,那只是浏览器纠正用户错误。 – somethinghere 2015-02-10 14:36:53

+1

@somethinghere,恐怕我不明白你的评论。例如,如果输入的值包含'&',那么它将被转义为'&',而不是'%26'。因此,它将被解释为结果URL中的查询参数分隔符,而不是查询参数本身的一部分。 – 2015-02-10 14:38:46

回答