1

为什么将 html 标记添加到 json 时,此 ajax 会失败,如果<br />不存在则有效。我能想到的唯一解决方法是对文本进行编码。

你知道为什么或/还有其他建议吗?

谢谢

 $.ajax({
            type: "POST",
            url: "/url",
            //data: { "myText" : '[{ "a": "test1", "b": "test2"}]' },//works
            data: { "myText": '[{ "a": "<br />dfgdfgdfgdfgdgd", "b": "test2"}]' },//causes error
            dataType: 'json',
            success: function (data) {
                        alert("pass");
            },
            error: function () {
                        alert("error");

            }
        });
4

1 回答 1

3

尝试使用以下JSON.stringify方法:

data: { "myText": JSON.stringify([{ "a": "<br />dfgdfgdfgdfgdgd", "b": "test2"}]) }

或者如果您不想myText作为 JSON 字符串发送,请删除单引号:

data: { "myText": [{ "a": "<br />dfgdfgdfgdfgdgd", "b": "test2"}] }

当然,如果您在服务器端使用某种技术(例如 ASP.NET)来禁止< >请求中的字符,则您必须修复服务器端脚本,以便它接受这些字符。

于 2012-08-12T15:30:29.497 回答