在javascript中正确传递参数

在javascript中正确传递参数,javascript,knockout.js,Javascript,Knockout.js,目前,我正在将url和id硬编码到一个函数中,但我希望将它们传入,因此这不是硬编码特有的 传入参数的代码-当前硬编码 Next = function () { var _page = $.views.Roster.ViewModel.CurrentPage() + 1; $.views.Roster.ViewModel.CurrentPage(_page); $.views.Roster.GetPage("/api/Roster", 9, _page); } 我想把最

目前,我正在将url和id硬编码到一个函数中,但我希望将它们传入,因此这不是硬编码特有的

传入参数的代码-当前硬编码

 Next = function () {
    var _page = $.views.Roster.ViewModel.CurrentPage() + 1;
    $.views.Roster.ViewModel.CurrentPage(_page);
    $.views.Roster.GetPage("/api/Roster", 9, _page);
}
我想把最后一行改为:
$.views.花名册.GetPage(url,id,_page)

传入参数的当前方法

$.views.Roster.GetPage = function (url, id, pageNumber) {
        $.ajax({
            Url: url,
            DataToSubmit: { pageNumber: pageNumber, id: id },
            DataType: "json",
            OnSuccess: function (data, status, jqXHR) {
                $.views.Roster.RosterViewModel.AddUsers(data);
            }
        });
    };

您可以参数化您的函数:

 Next = function (url, id) {
    var _page = $.views.Roster.ViewModel.CurrentPage() + 1;
    $.views.Roster.ViewModel.CurrentPage(_page);
    $.views.Roster.GetPage(url, id, _page);
}

我对knockout一无所知,但是
$.ajax({})
是knockout方法还是jQuery方法?$.ajax()是jQuery方法()@brianfizgerald我知道,但是我很困惑,因为其他方法调用也使用$,我从来没有见过它(比如$.views.花名册)。我还感到困惑,因为使用的选项中没有一个与$ajax接受的内容相匹配。所以我想可能有一些击倒AJAX的方法或者其他什么。我不确定Knockout是否使用了相同的标识符-$。jQuery在我理解的问题中没有标记。没问题,伙计,我只是想帮忙。我试过了,在控制台中,我得到了
未捕获的TypeError:uncaugh invocation
for
Next
。你在哪里调用
Next
  • ,你想从哪里定义或获取url和id的值?从脚本部分的查看页面:
    (函数($){$.views.花名册.GetPage('@url',@ViewBag.SectionID,1);})(jQuery);