我正在尝试实现一些 Ajax,但遇到了如何处理响应以及如何正确处理数据的问题。
我的 JavaScript 代码是:
$(function () {
$('#creatediaryentry').submit(function () {
if ($(this).valid()) {
$.ajax({
url: this.action,
type: this.method,
dataType: "json",
data: $(this).serialize(),
success: function (result) {
$('#diary-entries-list').append("<li>" + result + "</li>");
}
});
}
return false;
});
});
这需要一个简单的表单数据并将其按预期发布到控制器方法:
public JsonResult PostNewEntry(EntryViewModel entry)
{
var entryDc = Mapper.Map<EntryViewModel, EntryDc>(entry);
try
{
//_apiClient.SubmitNewEntry(entryDc);
}
catch (ApiClientException ex)
{
Console.WriteLine(ex);
}
return Json(JsonResponseFactory.SuccessResponse());
}
目前发生的事情是将响应加载到一个只有 SuccessResponse 内容的空页面中 -{"Success":true}
我最理想的做法是获取用户在 UI 中输入的文本,并<li>
使用客户端数据更新而不从控制器发回。