使用 Ajax - ASP.NET MVC 将数据插入数据库



>我有一个带有表单的页面,当用户提交表单时,会发生两件事 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);
}


阿贾克斯:

<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>

看看这个例子:

$.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);
});

首先,您应该为返回 json 创建一个新类。不应将实体对象返回到 ajax 请求。

例如:

public class RmaHistoryJson
{
public string Kundenavn { get; set; }
public string Ordrenummer { get; set; }
}

那么数据库插入过程的错误细节是什么?

最新更新