[英]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.