【问题标题】:How to send ajax call to server without expecting a return result?如何在不期望返回结果的情况下向服务器发送 ajax 调用?
【发布时间】:2016-09-12 03:46:45
【问题描述】:

我将输入传递给 actionResult,它将使用它来创建一个新对象并使用 entityFramework 将其插入数据库并且不想返回任何内容。

    $(document).ready(function () {  
        $("#Add").click(function () {
            var EmployeeeId = $("#EmployeeId").val();
            var Phone =$("#Phone").val();
            var Email = $("#Email").val();
            var Address = $("#Address").val(); 
        var UserModel =
{
    "EmployeeId": EmployeeeId,
    "Phone": Phone,
    "Address": Address,
    "Email": Email

};    $.ajax({url: '@Url.Action("AddNewContactList","Home")',

            type: "POST",
            dataType: "json",

            data: JSON.stringify(UserModel),
            contentType: 'application/json; charset=utf-8',


                        success: function (result) {

                           //Doesnt Matter

                        },
                        error: function (xhr, ajaxOptions, thrownError) {

                            alert("Failed");
                        }

这是我的控制器代码,其中调用了控制器操作

 [HttpPost]
    public ActionResult AddNewContactList(ContactList c)
    {
        DbContext m = new DbContext();
        m.ContactList.Add(c);
        m.SaveChanges();
        return View();
}

【问题讨论】:

  • 你的标题说你不期待结果。你问题的第一行说你是。是哪个?
  • 你想要发生什么?
  • 所以忽略响应...或者更改服务器上的方法以不返回任何内容。

标签: jquery ajax model-view-controller asp.net-ajax


【解决方案1】:

只需在 ajax 请求中添加 url 和 data 属性即可。

$.ajax({
  url: "yourURL",
  data: yourData
});

【讨论】:

  • 我会尝试并通知你。
  • 如果仍然想执行另一个动作,但不依赖于数据怎么办。例如显示成功消息
【解决方案2】:

在您的操作方法中返回 void。

[HttpPost]
public void AddNewContactList(ContactList c)
{
    DbContext m = new DbContext();
    m.ContactList.Add(c);
    m.SaveChanges();
}

【讨论】:

    猜你喜欢
    • 2020-04-08
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 2013-06-12
    • 2022-11-17
    • 1970-01-01
    相关资源
    最近更新 更多