首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Ajax - ASP.NET MVC将数据插入数据库

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

Stack Overflow用户
提问于 2018-06-08 17:27:31
回答 2查看 749关注 0票数 -1

我有一个带有表单的页面,当用户提交表单时,会发生两件事

1)它应该发送一封电子邮件(这部分工作正常)

2)也应该将数据/记录插入到数据库中,但这部分不起作用,不能将数据插入数据库。

3)据我所知,在发送电子邮件之前,Controller和AJAX都在工作。不再是了。

我在第二部分尝试过的东西,首先我调试了我的控制器,我可以看到模型包含了数据。

我还在浏览器中检查了控制台,没有出现错误

我是不是在Controller或AJAX中遗漏了什么?!谁能给我指个方向?!

控制器:

代码语言:javascript
复制
        [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:

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2018-06-08 17:34:11

看看这个例子:

代码语言:javascript
复制
$.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);
    });
票数 0
EN

Stack Overflow用户

发布于 2018-06-09 08:38:43

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

例如:

代码语言:javascript
复制
public class RmaHistoryJson
{
    public string Kundenavn { get; set; }
    public string Ordrenummer { get; set; }
}

那么数据库插入过程的错误详细信息是什么呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50757491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档