将CKEDITOR.instances.editor1.getData()传递给HTTPPost会产生错误

时间:2014-12-15 09:49:13

标签: javascript jquery asp.net-mvc ckeditor http-post

我正在从CKEditor中读取HTML并且能够在警报中显示它,但出于某些奇怪的原因,当我到达ajax帖子时它会出错。我已经通过删除它并传递一个普通的字符串来识别这个以防万一。这很好。

function GetHTML() {
    var _content = CKEDITOR.instances.editor1.getData();
    alert(content);
    var _filename = $("#pages").val();

    var url = "/CMS/UpdateHTML/";
    $.ajax({
        url: url,
        data: {content: _content, filename: _filename },
        cache: false,
        type: "POST",
        success: function (data) {

        },
        error: function (reponse) {
            alert("error : " + reponse);
        }
    });
}

我从未真正接触过控制器代码。它只是给出了一个错误

  

错误:[object Object]

控制器中的代码是

<HttpPost()>
Function UpdateHTML(content As String, filename As String) As ActionResult
        stop

        Return Json("")
End Function

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案,似乎如果你将属性放在代码中就可以了。

<ValidateInput(False)>

我在文章Using CKEditor with Razor for .NET MVC 3

中看到了这一点

在文章中提到了这是非常重要的,否则将产生错误。

  

&#34; [HttpRequestValidationException(0x80004005):有潜在危险   从客户端检测到Request.Form值...&#34;例外是   抛出因为有HTML被发送到服务器。该   [ValidateInput(false)]属性将阻止此错误发生,   但是,我们正面临一个安全漏洞。