2013-03-24 3 views
1

почему JSON не работает с HTML текст (вар text_html = '<p></p><t></t>';), но это будет работать правильно (вар text_html = 'пример';)JSON HTML параметрические данные

не работает

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

Возможный дубликат http://stackoverflow.com/questions/3047311/passing-html-using-json – Vortex

+0

- это ваша ошибка в отношении формата данных, когда оно po sted или сообщение не может достичь вашего действия? –

+0

@Dave A У меня есть ошибка, когда этот текст отправляется методу –

ответ

2

попробовать это:

var Streszczenie_controll = $.parseJSON('<p></p><t></t>'); 

и использовать ajaxSetup поручить JQuery, как обращаться с типом данных

 $.ajaxSetup({ 
      contentType: "application/json; charset=utf-8", 
      dataType: "json" 
     }); 
+0

Я проверяю его и не работает –

+0

Возможно ли это преобразование с помощью JQuery? –

+0

@ Rafael-JuniorMVCDeveloper, это IS JQuery. Интересно, что это не сработало. такая же ошибка? –

2

Потому что те убегают символы в формате JSON. Вам придется разбирать html, чтобы сделать его JSON дружественным, если вы хотите, чтобы он прошел через JSON.

+0

, какая функция может преобразовать правильный My_Text в строку? –

2

Для этого людей, которые имеют проблемы с этим я могу показать еще один способ решить эту проблему но очень уродливый click here

+0

pretty's не так хорошо, как работает;) –

Смежные вопросы