From php json_encode to jquery decode
From php json_encode to jquery decode
我使用一个众所周知的"hack"(json编码函数)来防止一些字符扰乱我的html,我从API接收一个可以包含单引号或双引号(以及其他特殊字符)的描述字段。因此:
<div class="someThing" data-fulldescription=<?=json_encode($textFromApi);?>>
...
</div>
现在,我使用jquery读取该数据字段,然后将其打印到div:中
$('#brand-modal-content').html($(this).parents('.someThing').data('fulldescription'));
问题是,引号现在由PHP函数编码,一些字符被"''u00e8"或"''u00f9"取代,有没有办法使用jquery重新格式化文本?
您以一种非常错误(甚至不安全)的方式将内容注入HTML。改为:
data-fulldescription="<?=htmlspecialchars(json_encode($textFromApi));?>"
这样,无论里面有什么,JSON都将被正确编码并安全地注入;然后,你可以这样解码:
var decoded = JSON.parse($(this).parents('.someThing').data('fulldescription'));
这些步骤的组合将完美地保留JSON,无论它代表什么(如果假设它是字符串,您可以使用快捷方式,但为什么不总是100%安全?)。然后,可以对解码后的值执行任何操作。
相关文章:
- JavaScript to jQuery for KendoUI
- Eventlistener in javascript to jQuery
- Javascript AJAX call to Jquery Call
- Javascript to jQuery? (Iframe)
- Zepto equivalent to jQuery prev([selector])
- A d3.select... equivalent to jQuery.children()
- Javascript to jquery Ajax request
- YUI.getElementsBy equivalent to jQuery
- Javascript to Jquery?
- add to jQuery serializearray()
- From php json_encode to jquery decode
- Zepto fallback to jQuery
- Google maps API: JSON to jQuery
- Javascript to JQuery - 在文本字段中呈现用户输入
- Conversion of javascript to jquery (getelementbyid, tagname,
- HTML - reference to jQuery
- Beginners to JQuery
- Mootools Class to Jquery
- Pure JavaScript alternative to jQuery's .not()
- EXT JS code to jQuery