我在这里工作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调用我的控制器获取数据?任何帮助表示感谢 - 谢谢。
答案 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表示操作被命中,只有数据为空,所以我相信你。)