任何人都可以帮我解决这个话题吗?
我正在进行ajax post调用,我收到状态200 OK但是错误处理程序被触发。我不知道我是否向服务器或其他类似的地方发送了错误的数据。
以下是代码:
$('#btn_sendMail').on('click', function (ev) {
ev.preventDefault();
var sub = $('#subject').val();
var body = $('#message').val();
var displayNameMailAddress = $('#name').val() + " - " + $('#email').val();
var formData = new FormData();
formData.append('subject', sub);
formData.append('body', body);
formData.append('displayNameMailAddress', displayNameMailAddress);
$.ajax({
type: 'POST',
url: pathRoot() + '/SendMail',
cache: false,
dataType: 'json',
data: formData,
success: function (result) {
if (result.shouldSeeError) {
alertify.error(result.message);
}
else {
alertify.success(result.message);
//$('#emailForm').reset();
}
},
error: function (result) {
alertify.error("Error.");
}
});
});
服务器端代码(C#):
[HttpPost]
public ActionResult SendMail(string subject, string body, string displayNameMailAddress)
{
string message = string.Empty;
bool error = false;
try
{
Manager.Email.SendEmail(subject, body, displayNameMailAddress);
}
catch (Exception)
{
error = true;
}
message = error != true ? "success" : "error.";
Utils.JsonHelper jsonH = new Utils.JsonHelper()
{
shouldSeeError = error,
message = message
};
if (error == true)
return Json(jsonH, JsonRequestBehavior.DenyGet);
else
return Json(jsonH, JsonRequestBehavior.AllowGet);
}
有人能帮助我吗?
感谢。