0
var casualDays;
var days;

  $(document).ready(function(){

    $(function(){
        $('select, input').styledSelect();
    });

    $(function (){
    var usernameSelected = $("input#Employee_UserName" ).val().toString();
    var username;
    $.ajax({
        url: '@Url.Action("GetLeaveConsumedDays", "ApplyLeave")',
        type: 'POST',

        data: { username: usernameSelected },

        success: function (results) {
           days=results;
        }, 
        error: function () {
            alert("error");
        }
    });
    });
    $(function (){
    var usernameSelected = $("input#Employee_UserName" ).val().toString();
    var username;
    $.ajax({
        url:'@Url.Action("GetLeaveConsumedDaysCasual", "ApplyLeave")',
        type: 'POST',

        data: { username: usernameSelected },

        success: function (results) {
           casualDays=results;
        }, 
        error: function () {
            alert("error");
        }
    });
    });

ķ

这是我的 document.ready 事件,在正确运行页面两到三次后,它的工作正常。但几次后它不能正常工作。它没有为“days”和“casualdays”提供价值,有一些错误。刷新后两次或三次它的工作。我想不出这是什么原因。请任何人都可以帮助我

4

1 回答 1

3

Ajax 是异步的,您必须等到请求完成后才能days访问casualdays.

var foo; 
alert(foo); // undefined 1

$.ajax({ 
    url: "foo.php", 
    success: function(data){
        foo = data // foo now equals data
        alert(foo); // NOT undefined! 3
    }
});

alert(foo); // still undefined 2
于 2012-10-22T18:21:11.707 回答