【问题标题】:ajax call function with parameters in mvcmvc中带参数的ajax调用函数
【发布时间】:2016-09-26 13:17:26
【问题描述】:

我对此很陌生,我想做的是使用 ajax 从视图中调用控制器函数,这是我的控制器。

public ActionResult EditSiteGetContact(int? id)

    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }

        using (var db = SiteUtil.NewDb)
        {

            var owner = db.Contacts.Include(o => o.Id).FirstOrDefault(o => o.Id == id);
            if (owner == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            var orgViewModel = OrgViewModel.ToViewModel(owner);
            return View("Edit", orgViewModel);
        }
    }

这是我要显示数据的视图

<div class="form-group" id="alanTest">
       <label class="control-label col-md-2">Contact Person</label>
       <div class="col-md-6 form-inline">
         @Html.TextBoxFor(model => model.Owner.Name, new { @class = "form-control", style = "width:200px", type = "text" })
         <img src="~/Images/help-icon.png" class="tooltips" id="ContactPerson_Tooltip" title="lol">
         @Html.ValidationMessageFor(model => model.Owner.Name)
       </div>
</div>

我的 ajax 部分:

 $("#alanTest").ready(function(){
        var alanURL = "@Url.Action("EditSiteGetContact","Org")";
        var contactId = @Model.Org.ContactId;

        $.ajax({
            type:"POST",
            url:alanURL,

            data:{
                id:contactId
            },
            success:function(data){
                alert(data);
            },
            error: function(){
                alert("error");
            }      

            });
    });

我收到“错误”消息..

【问题讨论】:

  • 我收到“错误”消息什么错误消息!
  • @StephenMuecke, alert("error"); OP 谈论该错误消息
  • @Div,OP 需要解释他们在浏览器控制台中遇到的错误
  • @StephenMuecke,是的,同意你的看法。但我只是澄清一下。
  • 打开浏览器控制台并检查错误并检查网络选项卡中的响应。并调试您的代码。你打的方法。什么被退回?

标签: javascript jquery ajax asp.net-mvc asp.net-ajax


【解决方案1】:

在 EditSiteGetContact(int?id) 之前添加 [HttpPost] 属性。

在ajax函数中的变化
var contactId = @Model.Org.ContactId; to var contactId = "@Model.Org.ContactId";

请看下面的代码。它可能会帮助你。

$("#alanTest").ready(function(){
     var alanURL = "@Url.Action("EditSiteGetContact","Org")";
     var contactId = "@Model.Org.ContactId";

    $.ajax({
        type:"POST",
        url:alanURL,

        data:{
            id:contactId
        },
        success:function(data){
            alert(data);
        },
        error: function(){
            alert("error");
        }      

        });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-17
    • 2020-10-29
    • 2016-11-13
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    相关资源
    最近更新 更多