2016-12-24 10 views
-1

textarea(TinyMCE)のHTMLを送信したいが、入力パラメータが空である。FormDataとAjaxでHTMLを送信

私はそれを動作させるために何が欠けていますか?どんな手掛かり?

$('#btnCreateContent').click(function() { 

       // Checking whether FormData is available in browser 
       if (window.FormData !== undefined) { 

        var fileUpload = $("#FileUpload1").get(0); 
        var files = fileUpload.files; 

        // Create FormData object 
        var fileData = new FormData(); 

        // Looping over all files and add it to FormData object 
        for (var i = 0; i < files.length; i++) { 
         fileData.append(files[i].name, files[i]); 
        } 

        // Adding one more key to FormData object 
        fileData.append('englishTitle', $("#inputEnglishTitle").val()); 
        fileData.append('englishContent', $("#editorEnglishContentCreate").val()); 

        fileData.append('spanishTitle', $("#inputSpanishTitle").val()); 
        fileData.append('spanishContent', $("#editorSpanishContentCreate").val()); 


        $.ajax({ 
         url: '@Url.Action("CreateContent", "Content")', 
         type: "POST", 
         contentType: false, // Not to set any content header 
         processData: false, // Not to process data 
         data: fileData, 
         success: function (data) { 

         }, 
         error: function (err) { 
          alert(err.statusText); 
         } 
        }); 
       } else { 
        alert("FormData is not supported."); 
       } 
      }); 
      // 

C#

[HttpPost] 
public JsonResult CreateContent(string englishTitle, string englishContent, string spanishTitle, string spanishContent) 
{ 

// englishContent is empty :(
+1

ように調整する必要が見つかりますか少なくとも更新する要素の値を取得する前に要素 – charlietfl

+0

"englishContent is empty"とはどういう意味ですか? '#editorEnglishContentCreate'要素は、' $ .ajax() 'が呼び出されたときに空文字列ではない値を持っていますか? – guest271314

+0

@charlietflそれはどうすればいいのか教えてください。 –

答えて

0

私は解決策

var englishContent = tinyMCE.get('editorEnglishContentCreate').getContent({ format: 'raw' }); 
console.log(englishContent); 
fileData.append('englishContent', englishContent); 

はまた、C#のコードがコンテンツを取得するためにTinyMCEのAPIを使用し

[ValidateInput(false)] 
[HttpPost] 
public JsonResult CreateContent(string englishTitle, string englishContent, string spanishTitle, string spanishContent) 
{ 
関連する問題