TinyMCE wysiwygの内容をデータベースに挿入するコントローラ機能に投稿しようとしています。サーバは500(内部サーバーエラー)の状態で応答し Chromeのエラーコンソールにデータとしての私/管理/ postnewarticle /ルートを引用:文字列にHTMLタグが含まれていると、AJAX Post URLを解決できない(500)
$.ajax({
url: '/admin/postnewarticle/',
type: 'post',
dataType: 'json',
data: {
content: tinyMCE.get('article-content').getContent(),
title: $('#article-title').val(),
articleType: $('#article-types option:selected').val()
},
success: function (result) {
// success stuff
}
});
このセットアップは、常にがリソースをロードできませんでしたが表示されますChromeでデバッグするときに、tinyMCE.get('article-content').getContent()
をウォッチ式として配置すると、TinyMCEテキスト領域に書いたものが<p>
タグで囲まれていれば、ここで目的の値が得られることがわかります。 「コンテンツ」の値をHTMLタグなしのランダムな静的文字列値に置き換えると、コントローラメソッドが正しく実行されます。ここでは、「コンテンツ」のデータ型がHtmlStringされていることを
[HttpPost]
[Authorize(Roles = "Administrators")]
[ValidateInput(false)]
public JsonResult PostNewArticle(string title, HtmlString content, string articleType)
{
// do stuff
}
お知らせが...これがその最終的にいくつかの研究を行った後、単に文字列から変更されました:ここに
は私がヒットしようとしているコントローラのメソッドであります私を導いたhere。しかし、文字列かHtmlStringかに関係なく、コンテンツの値にHTMLタグが含まれている場合、アクションは実行されません。
ご協力いただきありがとうございます。それはあなたがそれを
content: encodeURIComponent(tinyMCE.get('article-content').getContent()),
を送信する前に、あなたのコンテンツをURLエンコードすると、サーバー側の実際の文字列に戻ってそれを回すために役立つかもしれない
lol、編集者メモ:私はそこに私の質問の真ん中に「段落タグで包まれた」と言っています。私は、改行を引き起こしたので、p w /かっこをタイプしました。 – AJH