【发布时间】:2011-05-17 00:47:30
【问题描述】:
我允许用户使用 CKEditor 编辑网页,然后将修改后的 HTML sn-ps 保存到服务器,以便我可以在随后的页面交付中显示它们。
我正在使用此代码将 HTML 和一些 ID 发送到服务器:
var datatosend = JSON.stringify( { page: 1, block: 22, content: editor1.getData() } );
$.ajax({
url: "/ajax/fragment/",
type: "POST",
dataType: 'json',
data: "data=" + datatosend,
success: function (html) { },
error: function (xhr, status, msg) {
alert( status + " " + msg );
}
});
在服务器端,我正在使用 PHP,并且正在这样做:
$json = stripslashes( $_POST[ "data" ] );
$values = json_decode( $json, true );
这在发送非 HTML sn-ps 的情况下很有效,但在内容中发送类似这样的内容时不起作用:
<img alt="" src="http://one.localbiz.net/uploads/1/Dido-3_2.JPG" style="width: 173px; height: 130px;" />
我真的不确定在对数据客户端进行编码然后在服务器端解码方面我应该做什么?也不确定 dataType: 'json' 是不是最好用在这里?
【问题讨论】:
-
为什么在 json decode 之前做一个stripslashes?
标签: php jquery post character-encoding