当字符串包含 HTML 标记时,JSON 解析失败
JSON failing to parse when strings contain HTML markup
为什么当将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");
}
});
尝试使用 JSON.stringify
方法:
data: { "myText": JSON.stringify([{ "a": "<br />dfgdfgdfgdfgdgd", "b": "test2"}]) }
或者,如果您不想将myText
作为 JSON 字符串发送,请删除单引号:
data: { "myText": [{ "a": "<br />dfgdfgdfgdfgdgd", "b": "test2"}] }
现在,当然,如果您在服务器端使用某些技术(例如 ASP.NET),禁止请求中的字符(例如<
>
),则必须修复服务器端脚本,以便它接受这些字符。
相关文章:
- 当json解析空响应时,Whatwg-Fetch失败,我该如何防止它
- 当其他解析器认为意外的令牌有效时,json.parse会失败
- $.ajax调用失败,dataType为json
- 如何避免JSON.stringify在特殊情况下返回undefined,从而为JSON.parse创建字符串失败
- 当字符串包含 HTML 标记时,JSON 解析失败
- 在什么情况下,应该.deep.equal失败,但使用JSON.stringify进行比较工作正常
- 使用 JavaScript 解析 json 失败
- $http-get方法即使使用AngularJS中.Net WebApi的有效json也会失败
- zombie.js-xhr-json总是失败
- AJAX请求json失败
- 从php获取javascript中的json对象失败
- Angular JS,把json放到ng重复出一个事件失败
- Google 脚本:JSON.parse 无缘无故失败
- JSON 失败并继续执行代码
- d3.json有效,但$.getJson失败
- JSON.parse 失败,并显示有效的 JSON
- 解析 JSON 失败,JavaScript 中缺少元素
- Jquery解析JSON失败-“;意外标记o”;
- 使用JSONP获取远程JSON失败
- 加载ajax JSON失败