Encode/decode html 个标签在 javascript

Encode/decode html tags in javascript

我有一个用 nicEdit 插件美化的文本区域。

我需要通过 ajax post 将代码结果发送到我的 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");}
    });
}

您的JSON无效。 JSON 中的字符串应该有双引号。

如果字符串中也需要双引号,则需要使用反斜杠将其转义。

但是与其自己编写解决方案,不如让 JSON-序列化由 JavaScript 处理,您就不会遇到这个问题:

var o = {};
o.title = $("#titulo").val();
o.text = new nicEditors.findEditor('new_area').getContent();
var jsonNew = JSON.stringify(o);