为什么JSON不能与html文本一起使用(var text_html ='<p></p><t></t>
';)但这样做是正确的(var text_html ='example';)
不起作用
var text_html = JSON.parse('<p></p><t></t>');
问题:
function Save() {
var text_html = '<p></p><t></t>';
$.ajax({
url: '@Url.Action("DodajTematSave", "StronaGlowna")',
dataType: "json",
data: {
My_Text: text_html
},
type: "POST",
async: false,
error: function () {
},
success: function (data) {
if (data.Success) {
alert('success');
}
}
});
}
</script>
public JsonResult DodajTematSave(string My_Text)
{
return Json(new { Success = true});
}
这也不起作用
var dom_string = '<div>xxx<div>yyy</div></div>';
var text_html = dom_string.innerText();
这也不起作用
<script type="text/javascript">
function Save() {
var Temat_controll = $('#Temat').val();
var Streszczenie_controll = $.parseJSON('<p></p><t></t>');
var PelnyOpis_controll = $('#PelnyOpis').text();
$.ajaxSetup({
contentType: "application/json; charset=utf-8",
dataType: "json"
});
$.ajax({
url: '@Url.Action("DodajTematSave", "StronaGlowna")',
dataType: "json",
data: {
Temat: Temat_controll,
Streszczenie: Streszczenie_controll,
PelnyOpis: PelnyOpis_controll
},
type: "POST",
async: false,
error: function () {
},
success: function (data) {
if (data.Success) {
alert('success');
}
}
});
}
</script>
答案 0 :(得分:2)
因为这些是在JSON中转义的字符。如果你希望它通过JSON传递,你必须以一种方式解析html以使它对JSON友好。
答案 1 :(得分:2)
试试这个:
var Streszczenie_controll = $.parseJSON('<p></p><t></t>');
并使用ajaxSetup指示JQuery如何处理数据类型
$.ajaxSetup({
contentType: "application/json; charset=utf-8",
dataType: "json"
});
答案 2 :(得分:2)
对于这个有问题的人,我可以用另一种方法来解决这个问题,但非常难看click here