JSON数据html参数

时间:2013-03-24 15:35:00

标签: c# asp.net-mvc json

为什么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>

3 个答案:

答案 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