javascript - 是否有任何理由在 HTML 中转义整数?

标签 javascript html ajax escaping underscore.js-templating

如果我通过 Ajax 从服务器获取以下对象:

$.get('/product/10', function (response) {
  product = response;
    // product:
    // {
    //   name: "Product X",
    //   stock: 20
    // }
});

然后使用如下所示的 Underscore.js 模板将其输出为 HTML:

<input type="number" value="<%- product.name %>">
<input type="number" value="<%= product.stock %>">

如果我知道 stock 属性总是以整数形式从服务器传来,是否有任何理由也对它进行转义?

我想不出一种利用它的方法,所以我想知道“逃避所有事情”是否是一个好的策略,或者“只逃避你需要的东西”是否更好。

最佳答案

如果你想完全安全,就逃避一切。代码可能会更改,您可能会决定在之前使用数字的地方使用字符串。如果你逃避一切,你就不会有问题。

然而,这只是谨慎。如果你能保证它永远是一个数字,即使 AJAX 请求失败,并且在所有边缘情况下,那么不转义它就可以了。请注意,无论我在哪里工作,大家的共识是谨慎行事。

关于javascript - 是否有任何理由在 HTML 中转义整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25148782/

相关文章:

javascript - 意外的标识符 JavaScript

javascript - 实现点击拖动旋转3D对象 - vue.js

javascript - SVG 使用和 jQuery 上的 Mouseenter/Mouseleave

html - 调整大小时保持图像对齐

jquery - 经典的Asp持久上传和Jquery Ajax

javascript - 如何根据 fabricjs 中的宽度按比例调整 Canvas 中的图像大小?

javascript - 使用返回变量停止与clearInterval()类似的自定义setInterval()函数

javascript - 如何检查 CSS 选择器是否在同一 HTML 标记行上

javascript - 拆分 JSON 响应并使用图表数据

python - Django Rest Framework - 对象没有属性 post