Я делаю JQuery Ajax-запрос к контроллеру ASP.NET MVC с помощью плагина jQuery Form.
Вызов работает нормально, но когда я анализирую ожидаемый JSON, я получаю ожидаемый результат в Firefox, но я получаю значение NULL в Internet Explorer.
Ajax-вызов выглядит так:
var options = {
iframe: true,
dataType: 'json',
success: function (result, status) {
$.unblockUI();
_editingEmail = false;
if (result.Sent === true) {
... Do something
}
$("#messageSentResult").html("<div>" + result.Message + "</div>");
},
error: function (xhr, textStatus, errorThrown) {
$.unblockUI();
alert(textStatus);
},
beforeSubmit: function () {
$.blockUI({
message: '<h1>Processing...</h1>'
});
}
};
$('#myForm').ajaxForm(options);
Это мой контроллер:
[HttpPost]
public FileUploadJsonResult MyMethod()
{
... Do something
if(ValidationFails())
{
return new FileUploadJsonResult { Data = new { Sent = false, Message = "The operation was not successful." } };
}
return new FileUploadJsonResult { Data = new { Sent = true, Message = "The operation succeeded." } };
}
Класс FileUploadJsonResult выглядит следующим образом:
public override void ExecuteResult(ControllerContext context)
{
this.ContentType = "text/html";
context.HttpContext.Response.Write("<textarea>");
base.ExecuteResult(context);
context.HttpContext.Response.Write("</textarea>");
}