我有一个带有表单的页面,当用户提交表单时,会发生两件事
1)它应该发送一封电子邮件(这部分工作正常)
2)也应该将数据/记录插入到数据库中,但这部分不起作用,不能将数据插入数据库。
3)据我所知,在发送电子邮件之前,Controller和AJAX都在工作。不再是了。
我在第二部分尝试过的东西,首先我调试了我的控制器,我可以看到模型包含了数据。
我还在浏览器中检查了控制台,没有出现错误
我是不是在Controller或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>
发布于 2018-06-08 17:34:11
看看这个例子:
$.ajax({
url: "url",
type : "POST",
async: false,
contentType: "application/json",
//dataType: "json",
data : { firstDate : monday,
secondDate : lastday}
//student_name : $('#id_student_name').val()
}).then(function(data) {
var obj = JSON.parse(data);
for (var a = 0; a < obj.results.length; a++) {
res[a] = obj.results[a];
dates.push(obj.results[a].DATESTART);
}
console.log(res);
});
发布于 2018-06-09 08:38:43
首先,您应该为return创建一个新类,json.You不应该向ajax请求返回实体对象。
例如:
public class RmaHistoryJson
{
public string Kundenavn { get; set; }
public string Ordrenummer { get; set; }
}
那么数据库插入过程的错误详细信息是什么呢?
https://stackoverflow.com/questions/50757491
复制相似问题