2012-10-19 59 views
3

我用編輯器在我的頁面時,我想用AJAX來更新我的價值觀,我得到這個錯誤: 遺漏的類型錯誤:轉換圓形結構,以JSON轉換圓形結構,以JSON的HTML。發送值控制器

這是我的看法:

@{ 
    Layout = null; 
} 

<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>Edit</title> 

    <script type="text/javascript"> 
     $(function() { 
      $("#editor").kendoEditor({ 
       value: "@Html.Raw(Model.Content)" 
      }); 
      $("#back").click(function() { 
       $.get('@Url.Action("Index", "Editor")', { siteId: "@ViewBag.SiteId", widgetId: "@Model.WidgetId" }, 
           function (data) { 
            $("div[data-role='popup']").remove(); 
            var indexContent = $(data).find("#content"); 
            $(indexContent).fadeIn(101); 
            $("#content").replaceWith(indexContent); 
           }); 


      }); 
      var content = $("#editor").data("kendoEditor"); 
      $("#save").click(function() { 
       var editor = { 
        Id: 1, 
        Content: content, 
        Title: 1, 
       }; 

       $.ajax({ 
        url: '@Url.Action("Update", "Editor")', 
        type: "POST", 
        contentType: "application/json charset=UTF-8", 
        dataType: "json", 
        data: JSON.stringify(editor), 

       }); 
    }); 
     }); 
    </script> 
</head> 
<body> 
    <div id="editorContainer"> 
     <div id="editorContent"> 
      <input type="text" value="@Model.Title" style="width:300px" id="title"/> 
      <textarea id="editor" rows="10" cols="30" style="width: 740px; height: 440px"> 
</textarea> 
     </div> 


    </div> 
    <button id="save">ذخیره</button> 
    <button id="back">بازگشت</button> 
</body> 
</html> 

在我看來我發佈價值與jquery ajax但我得到錯誤。

回答

1
saveButton.click(function() { 
       var model = { 
        Id: '@Model.Id', 
        Content: editor.data("kendoEditor").encodedValue(), 
        Title: $('#title').val(), 
       }; 

       $.ajax({ 
        url: '@Url.Action("Update", "Editor")', 
        type: "POST", 
        contentType: "application/json charset=UTF-8", 
        dataType: "json", 
        data: JSON.stringify({ editor: model, siteId: '@ViewBag.siteId' }), 
         success: function() { 
          alert('تغییرات مورد نظر با موفقیت اعمال شد.'); 
          //window.parent.document.location.replace('@Url.Action("SiteIndex", "Editor")?' + parametrs); 
         }, 
        error: function() { 
         alert('متاسفانه خطایی در سیستم رخ داد،دوباره تلاش کنید.'); 
        } 
       }); 
      }); 

這是正確的

1

您不能JSON序列化包含循環引用的對象層次結構。這僅僅是JSON格式不支持的。您應該使用視圖模型並打破對象中存在的循環依賴關係。

+0

請給我解釋一下 –

相關問題