Javascript 在ajax中,成功函数不能正常工作

Javascript 在ajax中,成功函数不能正常工作,javascript,jquery,html,ajax,rest,Javascript,Jquery,Html,Ajax,Rest,虽然我试图在插入数据后显示列表页,但它不起作用 html代码:- <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>iDNS rule engine</title> </head> <body> <script type="text/javascript"> var studioName={}; var configu

虽然我试图在插入数据后显示列表页,但它不起作用

html代码:-

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>iDNS rule engine</title>

</head>
<body>
<script type="text/javascript">
var studioName={};
var configurationObject={};
</script>
//my html access codes
</body>
</html>
上面显示了studioName是全局对象

loadAllConfigurationName()函数:-

function loadAllConfigurationRuleName(){
        $('#serviceRules').html("");
        allRuleNames=[];
        for(var i=0;i<studioName.length;i++){
            var dataId = studioName[i].ruleId;
            var dataArray = studioName[i].ruleName;
            allRuleNames[i]=studioName[i].ruleName;
            if(studioName[i].ruleStatus == true){
                var dataSelect=studioName[i].ruleId;
            }else{
                var dataSelect = 0;
            }
        $('#serviceRules').populate1(dataId, dataArray, dataSelect);
        }
    }
插入函数:-

function selectRuleBoxLoadDetails(){
//some code for where i show using table
}
$("#uploadfile").click(function(){
    var file = $('input[name="uploadfile"').get(0).files[0];
    var formData = new FormData();
    formData.append('uploadfile', file);

    $.ajax({
        type : 'POST',
        url : 'http://localhost:8080/IDNS_Rule_Configuration/idns/idnsData/importYaml', //Server script to process data
        enctype : 'multipart/form-data',
        data : formData,
        processData : false,
        contentType : false,       
        success : function(data) {
         $.when( getAllConfigurationRules() ).done(function() {
                        importPopulateFunction(data);
                        selectRuleBoxLoadDetails();
                    });
/*    getAllConfigurationRules(function(e){
                                e.preventDefault();
                                importPopulateFunction(data);
                                selectRuleBoxLoadDetails();
                            });/*



        }
    });
});
function importPopulateFunction(comingRuleName){
        $('#fileupload').val('');
        $('#fileuploadstatus').html('yaml uploaded successfully.');
        $('#fileuploadstatus').css({'color':'green'});
        $(".config-add").hide();
        $(".import-yaml").hide();
        $(".config-view").show();
        $('#serviceRules').html("");
        for(var i=0;i<studioName.length;i++){
            var dataId = studioName[i].ruleId;
            var dataArray = studioName[i].ruleName;
            var dataSelect = studioName[i].ruleId;
            if(studioName[i].ruleName == comingRuleName){
                $('#serviceRules').populate1(dataId, dataArray, dataSelect);
            }else{
                $('#serviceRules').populate1(dataId, dataArray, 0);
            }
        }
    }   
importPopulateFunction功能:-

function selectRuleBoxLoadDetails(){
//some code for where i show using table
}
$("#uploadfile").click(function(){
    var file = $('input[name="uploadfile"').get(0).files[0];
    var formData = new FormData();
    formData.append('uploadfile', file);

    $.ajax({
        type : 'POST',
        url : 'http://localhost:8080/IDNS_Rule_Configuration/idns/idnsData/importYaml', //Server script to process data
        enctype : 'multipart/form-data',
        data : formData,
        processData : false,
        contentType : false,       
        success : function(data) {
         $.when( getAllConfigurationRules() ).done(function() {
                        importPopulateFunction(data);
                        selectRuleBoxLoadDetails();
                    });
/*    getAllConfigurationRules(function(e){
                                e.preventDefault();
                                importPopulateFunction(data);
                                selectRuleBoxLoadDetails();
                            });/*



        }
    });
});
function importPopulateFunction(comingRuleName){
        $('#fileupload').val('');
        $('#fileuploadstatus').html('yaml uploaded successfully.');
        $('#fileuploadstatus').css({'color':'green'});
        $(".config-add").hide();
        $(".import-yaml").hide();
        $(".config-view").show();
        $('#serviceRules').html("");
        for(var i=0;i<studioName.length;i++){
            var dataId = studioName[i].ruleId;
            var dataArray = studioName[i].ruleName;
            var dataSelect = studioName[i].ruleId;
            if(studioName[i].ruleName == comingRuleName){
                $('#serviceRules').populate1(dataId, dataArray, dataSelect);
            }else{
                $('#serviceRules').populate1(dataId, dataArray, 0);
            }
        }
    }   
函数importpoulatefunction(comingRuleName){
$('#fileupload').val('');
$('#fileuploadstatus').html('yaml上传成功');
$('#fileuploadstatus').css({'color':'green'});
$(“.config add”).hide();
$(“.import yaml”).hide();
$(“.config视图”).show();
$('#serviceRules').html(“”);

对于(var i=0;i'It't not work'是永远不够的信息。但是,从代码的外观来看,我猜
studioName
超出了其他函数的范围。请尝试在函数之外声明它,或者直接将数据传递到函数本身。另外,我建议您从当前任务中退一步,然后学习一些基本的JavaScript教程。您似乎对JavaScript有一些误解。例如,
studioName={};
上面的
studioName=data;
行没有任何用途。@rorymcrossan对于getAllConfigurationRules()的每个函数调用,我想使用全局对象(studioName)然后给这个对象赋值,这样我就可以这样给它赋值了。