У меня есть страница с формой, и когда пользователь отправит форму, произойдут две вещи
1) Он должен отправить электронное письмо (эта часть работает нормально) и
2) Он также должен вставить данные / запись вБаза данных, но эта часть не работает, и она не может вставить данные в базу данных.
3) Как я понимаю, и контроллер, и AJAX работают до тех пор, пока не придет отправка электронной почты.уже нет.
Вещи, которые я пробовал для части 2, сначала я отладил свой контроллер, и я вижу, что модель содержит данные.
Я также проверяю консоль в браузере, и не было ошибок
Я что-то пропустил в контроллере или в AJAX ?!Может кто-то указать мне верное направление ?!
Контроллер:
[HttpPost]
public JsonResult ProcessRequestRMA(string kundenavn, string ordrenummer , string send)
{
if (send == "send")
{
var SubjectOne = "RMAAJAX";
var SendToPrint = "someemal@email.com";
var errorMessage = "";
try
{
// Initialize WebMail helper
WebMail.SmtpServer = "smtp.";
WebMail.SmtpPort = 25;
WebMail.UserName = "someemal@email.com";
WebMail.Password = "";
WebMail.From = "someemal@email.com";
WebMail.EnableSsl = true;
WebMail.SmtpUseDefaultCredentials = false;
// Send email
WebMail.Send(to: SendToPrint,
subject: SubjectOne,
body: "Kundenavn" + kundenavn + "<br>" + "ordernummer" + ordrenummer + "<br>"
);
}
catch (Exception ex)
{
errorMessage = ex.Message;
}
if (ModelState.IsValid)
{
db.RMA_History.Add(new RMA_History
{
Kundenavn = kundenavn,
Ordrenummer = ordrenummer
});
db.SaveChanges();
}
}
return Json(new RMA_History {Kundenavn=kundenavn , Ordrenummer=ordrenummer }, JsonRequestBehavior.AllowGet);
}
AJAX:
<form id="RMAForm">
<input name="Ordrenummer" id="Ordrenummer" type="text" >
<input name="Kundenavn" id="Kundenavn" type="text" >
<button id="btn" type="submit">Send</button>
</form>
<script>
$(document).ready(function () {
$("#btn").click(function (e) {
e.preventDefault();
var kundenavn = $("#Kundenavn").val();
var ordrenummer = $("#Ordrenummer").val();
$.ajax({
type: 'POST',
url: "/Account/ProcessRequestRMA",
dataType: 'json',
data: {
send:"send",
kundenavn: kundenavn,
ordrenummer: ordrenummer,
},
success: function (status) {
if (!$.trim(status)) {
alert("What follows is blank: ");
}
else {
status.Kundenavn = kundenavn;
status.Ordrenummer = ordrenummer;
}
},
error: function () {
console.log('something went wrong - debug it!');
}
});
});
});
</script>