【发布时间】:2010-09-28 13:34:01
【问题描述】:
我在检索 JSON 格式的文本时遇到了一个奇怪的问题。我使用 jQuery post 将一些数据(也是 JSON 格式)发送到运行良好的服务器(运行 PHP)。然后,当我使用 jQuery get 从服务器请求相同的数据时,回调方法永远不会执行。仅当数据为 JSON 格式并且数据包含换行符时才会发生这种情况。当我不使用 JSON 格式时,它可以正常工作。让我困惑的是,上传数据没有问题。
上传代码:(作品)
$.post("ajax/contents_ajax.php", {
'title': caption,
'text': frameText().getContent(),
'image_id': img
},
//Callback
下载代码:(不支持换行)
$.get("ajax/contents_ajax.php", { 'get_item': id },
function (data){
//Never gets executed if data contains line breaks
}
,'json');
整个问题源于 TinyMCE 富文本编辑器似乎坚持在任何地方插入换行符,即使我启用了该选项
remove_linebreaks : true
我更喜欢换行,但如果它们破坏了我的代码,我就不喜欢。谁能告诉我这里的问题是什么,也许我可以如何使用 PHP 对服务器上的换行符进行编码?
更新
虽然用'' 替换'\n' 的建议不起作用,但它接近正确的解决方案。此代码删除了违规字符:
function parse($text){
$parsedText = str_replace(chr(10), "", $text);
return str_replace(chr(13), "", $parsedText);
}
【问题讨论】:
标签: jquery json tinymce line-breaks