繁体   English   中英

如何使用Url.Action通过Submit按钮的data_url属性设置ajax调用的Url

[英]How to set Url of ajax call via data_url property of submit button with the use of Url.Action

我了解到,为了设置ajax调用的URL,我始终可以在触发ajax调用的控件中设置URL.Action,如下所示:

视图

@Html.DropDownListFor(m => m.CompanyId, Model.Companies,
"Please Select", new { @class = "form-control",
data_url = Url.Action("ListOfCoverLetterByCompanyId", "Referral") })

JS

  $('#CompanyId').change(function () {
        var companyId = $(this).val();
        var url = $(this).data('url');
       // make the ajax call                 

现在,当我需要对表单提交进行ajax调用时,我想采用相同的方法。 如下所示:

视图

    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create"
    data_url="@Url.Action("CheckForExistingReferral","Referral")" class="btn btn-default" />
        </div>
    </div>

JS

@section scripts {
    <script>
        var canSubmit = false;
        $('form').submit(function (e) {
            if (!canSubmit) {
                e.preventDefault();
                debugger;
                var data = $('form').serialize();
             // getting error in below line
                var url = e.data('url'); // e represents the source element. 
                // how to get URL from submit button
               // var url = '/Referral/CheckForExistingReferral';
               // MAke Ajax call

    </script>
}

只要给它一个ID或类:

<input type="submit" value="Create"
    data-url="@Url.Action("CheckForExistingReferral","Referral")" class="btn btn-default" id="submit-btn" />

然后轻松地将其用于选择:

var url = $('#submit-btn').data('url');

而且正如Alex Kudryashev所说,您必须将data_url更改为data-url

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM