通过JQuery访问控制器

时间:2019-04-24 17:44:46

标签: c# jquery ajax asp.net-mvc

我有一个称为InvoiceTo的视图和一个名为Order的Controller。使用JQuery,默认URL是:url: '',这是结果:

locahost:port/domain/order/InvoiceTo

如果我更改URL:url: /Order/GetInformation,则结果是:

locahost:port/domain/order/InvoiceTo/Order/GetInformation

我已经尝试了很多方法来设置我的网址,但是总是错误的。这是我的JQuery:

$(document).ready(function () {
        $('#InvoiceToDrop').change(function () {
            var $div = $('#modalPartial'); 
            var idcustomer = $(this).val(); 
            $.ajax({
                url: '/Order/GetInformation/' + idcustomer,
                type: 'GET',                
                success: function (data) {
                    alert(JSON.stringify(data));
                },
                error: function (error) {
                }
            })
        });
    });

要拥有此URL,我要做的事情:

locahost:port/domain/Order/GetInformation/1

1 个答案:

答案 0 :(得分:2)

您可以在视图中使用UrlHelper Url.Action方法:

$.ajax({ 
    url: '@Url.Action("GetInformation", "Order", new { customerId })',
    ...

url: '@Url.Action("GetInformation", "Order")/' + idcustomer

视图加载时@Url.Action被解析并由实际值替换。

使用此方法的优点是它使用路由表而不是静态类型的url。