Javascript 在ajax中,成功函数不能正常工作
虽然我试图在插入数据后显示列表页,但它不起作用 html代码:-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
<!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)然后给这个对象赋值,这样我就可以这样给它赋值了。