html打破$ .parse.JSON

时间:2014-05-05 18:39:14

标签: javascript php json tinymce

所以在我的网站上我使用的是TinyMCE窗口。以当前方式,PHP从数据库中获取条目,将其解码为JSON。页面内的javascript然后解析这个。但是,如果有style='color:#fff'或类似内容,则javascript无法解析JSON。此外,空格或感叹号可以打破它。我不想使用那么脆弱的东西。还有其他方法可以解决这个问题吗?

的Javascript

$.ajax({
    type: "POST",
    url: "Including/php/fetcher.php",
    data: { identifier: identifier, page: page }
}).done(function( msg ) {
    var data = $.parseJSON(msg);
    var text = data["text"];
    tinyMCE.activeEditor.setContent(texten);
};

fetcher.php

$conn = mysql_connect($row['ipdb'],$row['usernamedb'], $row['wwdb']) or die("err");
$db = mysql_select_db($row['usernamedb']) or die("err");


$identifier = $_POST['identifier'];
$page = $_POST['page'];

$qry = "SELECT text FROM ".$page." WHERE identifier='$identifier'";
$result = mysql_query($qry) or die("An error occurred ".mysql_error());
$obj = mysql_fetch_object($result);

$text = $obj->text;

echo '{ "text" : "' . $text . '"}';

1 个答案:

答案 0 :(得分:1)

您可以使用

echo json_encode( array("text" => $text, "variable2" => $value2) );

确保它是有效的JSON并正确转义,这样它就不会在引号,空格等上中断。