【发布时间】:2015-12-10 11:28:14
【问题描述】:
我有一个使用 nicEdit 插件美化的文本区域。
我需要通过 ajax 帖子将生成的代码发送到我的 php 服务器。我应该怎么做才能转义 html 标签并在我的服务器中接收它们?
另外,我需要通过另一个 ajax 调用在另一个网页中显示它们。为了在从php接收后解码它们,我也应该怎么做?
这是我尝试过的json:
{'title':'srefzgseg','text':'<a href="link_to_page">s</a>drhgrdshgrdghrdgdgrdg<img src="http://www.joomlaworks.net/images/demos/galleries/abstract/7.jpg" alt="dgfvsegfseg" align="none">'}
我的功能:
function saveData(){
var title = $("#titulo").val();
var text = new nicEditors.findEditor('new_area').getContent();
var jsonNew = "{'title':'"+title+"','text':'"+text+"'}";
console.log(jsonNew);
$.ajax({
type: "POST",
url: "./server/saveNewData.php",
contentType: "application/json; charset=utf-8",
data: jsonNew,
dataType: "json",
success: function(response) {
},
error:function(xhr, status, message) {console.log(message); alert("Ha ocurrido un error al guardar los datos");}
});
}
【问题讨论】:
-
你为什么需要逃避它们?如果您设法输入它们,您还可以在另一侧阅读它们。 PHP 不会对他们做任何特别的事情。如果您想在 HTML 页面中显示 HTML 源代码,则唯一需要转义标签。
-
如果我的文本中不包含 html 标签,php 服务器会收到该文本,在我这样做的那一刻,我的服务器中没有收到任何内容。此外,如果我尝试使用 jsonlint,json 文件的格式也不是很好
-
您是输入了 HTML,还是已经在 textarea 中预填了 Text+HTML?在后一种情况下,您需要在将代码输出到文本区域元素时对其进行转义。如果您刚刚输入它并且 AJAX 失败,请分享更多详细信息,例如代码的相关部分以及您从 JavaScript 控制台和 PHP 日志中获得的任何错误。
-
我用我的函数和一个json文件的例子更新了我的问题
-
你是如何构建 JSON 的?它使用单引号,这是无效的。
标签: javascript html json ajax nicedit