在web api中ajax调用数据为空后?

时间:2012-10-30 09:06:10

标签: jquery asp.net-web-api

我在这里工作webapi我在ajax调用后得到空数据。我怎样才能获得数据?

这是我的ajax电话:

<script type="text/javascript">
$(document).ready(function () {
var editor = CKEDITOR.editor.replace('editor1');
$('#btndiv').mouseleave(function (event) {
    $('#btndiv1').hide("slow");
        alert(1);
        var data1 = editor.getData();
        $('#btndiv').append(data1);
    // send your ajax request with value

        var dataToPost = JSON.stringify(data1);
        alert('hi');
        alert(data1 + "got data");
        $.ajax({
            type: "Post",
            url: "/api/UpdateCkeditor",
            contentType: "application/json; charset=utf-8",
            data: dataToPost,
            dataType: "json",
            statusCode: {
                200: function (data1) {
                    alert("Updated successfully");
                }
            }
            //success: function (value) {
            //    // do what you want on success.
            //    alert("Updated successfully");

            //}
        });
    });
});

</script>

在这里我的控制器:

  public void create(ckeditormodels data1)
    {
        webapiEntities db = new webapiEntities();

        var empObj = db.ckeditorDatas.First(c => c.id == 1);
        empObj.value = data1.value;

        db.SaveChanges();

    }

这是我的模特:

    public class ckeditormodels
{
    public int id { get; set; }
    public string value { get; set; }
    public string dataToPost { get; set; }
    public string data1 { get; set; }
}

这里我的数据为null。如何通过ajax调用我的控制器获取数据?任何帮助表示感谢 - 谢谢。

1 个答案:

答案 0 :(得分:1)

CKEditor的getData()方法是从编辑器返回原始数据(与编辑器自己发布的相同)。您需要包装该字符串以更好地适合您的模型:

<script type="text/javascript">
    $(document).ready(function () {
    var editor = CKEDITOR.editor.replace('editor1');
    $('#btndiv').mouseleave(function (event) {
            ...
            var rawEditorValue = editor.getData();
            ...
            //If you want more properties here just extend this object
            var dataToPost = JSON.stringify({ value: rawEditorValue });
            ...
        });
    });
</script>

在结果中,编辑器中的rawEditorValue数据将绑定到模型的value属性。我在这里也假设请求正在执行你的操作(URL和方法似乎不合适,但yoru表示操作被命中,只有数据为空,所以我相信你。)