我有一个奇怪的情况,我似乎无法在谷歌上找到答案。
我正在使用一个 javascript 数组,对其应用 JSON.stringify,然后通过 AJAX 发布到 php 控制器,以将现在的 json_encoded 数组存储在表中。通过 ajax 发布后,$_POST 以某种方式剥离了正在提交的 html 上的样式属性。
这是通过 javascript/jquery 获取的示例 html:
<"div class="blahblah" style="border:1px solid #000000;"><strong>test</strong></div>
这是 AJAX 邮政编码:
var post_data = [];
$("divclasshere").each(function(){
post_data.push({html:$(this).html()});
});
var data = JSON.stringify(post_data);
$.ajax({
type: "POST",
url: "save",
data: { content: data },
success: function(result){
}
});
这是将其保存到数据库的控制器功能:
$data = array(
'content' => $this->input->post('content')
);
$this->db->update('table', $data);
如果我 print_r 在 PHP 控制器上的数据上,我得到(示例)
<div class="blahblah"><strong>test</strong></div>
但是 div class="blahblah" 元素上没有样式属性。如果这有什么不同,我正在使用 CodeIgniter?在某些情况下,它会去除第一部分:style="border:1px 并留下实心 #000000;"
编辑:
这是发布的内容(例如):
content:[{"html":"<div class=\"content\" style=\"border:1px solid #000000;\"></div>"}]
这是得到 print_r'd 的内容:
<pre>[{"html":"<div class=\"content\" solid #000000;\"></div>"}]