c# - 为什么在 ajax 调用完成后此值为零(asp.net mvc 3 和 jQuery)?

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

这是我的 ajax 调用:

  var totalCost = 0;
    function GetTotalCost(start, end, rID) 
    {
        $.ajax({
            url: '@Url.Action("CalculateTotalcost")',
            type: 'POST',
            data: JSON.stringify({ start:start, end:end, rID:rID}),
            dataType: 'json',
            processdata: false,
            contentType: 'application/json; charset=utf-8',
            success: function (data) { totalCost = data; }
//            error: function (xhr, ajaxOptions, thrownError) { $('.datepicker1').datepicker("hide"); },
//            complete: function (x, y) { $('.datepicker1').datepicker("refresh"); }
        });
    }

这是我调用 ajax 的函数:

 $('.datepicker2').datepicker({
            dateFormat: 'dd/mm/yy',
            firstDay: 1,
            yearRange: '2012:2100',
            beforeShowDay: function (date) {
                var day = date.getDate();
                if (day in alreadyTakenDays) {
                    return [false, '', alreadyTakenDays[day]];
                }
                else return [true, 'IsActive'];
            },
            onChangeMonthYear: function (year, month, inst) {
                alreadyTakenDays = {};
                getEvents(month, year);
            },

            onSelect: function (dateText, inst) {
                var end = dateText.substring(0, 2);
                console.log(end);
                var rID = $('#RoomID').val();
                console.log(rID);
                var startingHole = $('#DateOne').val();
                var start = startingHole.substring(0, 2);
                console.log(start);
                GetTotalCost(start, end, rID);

                document.getElementById('TotalCost').value = totalCost.toFixed(2);

            }
        });

执行 jQuery 脚本后,我总是得到 0 的 totalCount? 为什么会这样?我应该怎么办? 我想在 ASP.NET MVC 3 中将 totalCount 指定给 Html.TextBoxFor,这就是我需要 totalCount 的原因。请帮忙。

最佳答案

ajax 调用是异步的,当您在“总成本”文本框中设置值时尚未完成。

关于c# - 为什么在 ajax 调用完成后此值为零(asp.net mvc 3 和 jQuery)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13240128/

相关文章:

javascript - 引导 slider : when a specific slide is active show or hide divs

javascript - 使用 Ajax 执行 php 时出现烦人的弹出窗口,我不知道如何删除

jquery - 带有向上/向下箭头的垂直文本框轮播

javascript - Ajax 调用服务器并将数据传递回 Charts.js

jquery - 如何应用使用 jQuery 动态加载的内联和/或外部 CSS

c# - 以自定义顺序获取列表的最快方法

c# - 在多个显示器上绘制所有窗口

c# - Winforms窗体边框样式FixedSingle和FixedDialog?

c# - Selenium PhantomJsDriver、C#、SendKeys 无法正常工作

javascript - 如何使垂直线从一条线的顶部到底部改变不透明度