我正在使用 $.cookie() 以 JSON 格式从 cookie 中提取所有值:
var props = $.cookie('params');
props
返回:
{"distinct_id": "13f97d6600b42e-000e6293c-6b1b2e75-232800-13f97d6600cc82","utm_source": "the_source","utm_term": "myterms","utm_campaign": "campaign","utm_medium": "medium","utm_content": "content"}
我正在使用 jQuery 将其动态插入到表单中,我想确保所有内容都将发送到 POST
正确地,即使那里可能有各种疯狂的字符,通常会与 HTML 冲突(完全限定的 url,&
,"
,'
,甚至可能是 >
或 <
)
我还需要确保它在 IE6、IE7 等中工作。
var input = $('<input type="hidden" name="CustomField1">');
input.appendTo($('form[data-params=track]')).val(props);
它*看起来*可以正常工作,但我想 100% 确定我做的是正确的,因为这一步没有错误非常重要。
最佳答案
我很确定 val()
不需要任何额外的转义,因为您实际上并没有编辑原始 HTML。 val()
在元素上设置 DOM value
。
一般通过DOM/jQuery设置属性或特性应该没问题。这些将在呈现 innerHtml
时自动转义。但是如果您提交一个页面,它甚至不需要渲染任何东西——它可以直接从 DOM 复制值到请求。
关于javascript - jQuery 会正确转义我的引号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17416697/