0
为什么此变量(lanFound)变得不确定?JavaScript布尔结果失败
我得到以下输出:
灯泡的时刻! :)
当我输入输出序列给它! ajax是异步的,所以在代码继续之后真正回来!无论如何,我会发布,可能会很方便的人!
- 测试:DK
- 结果:未定义
- /网站/ cspdKnowledgeAssemblyPlatform/ApprovedContent/DKCover Letter.docx成功
我有一组的docx文件,但我加入支持语言,但要测试已添加的文件(docx),我使用以下代码(确定这是一个很长的变体,以便我进行调试):
fileUrl = filePath + fileName;
if (lan != "EN"){
showNotification("testing for: " + lan);
var lanFound = false;
lanFound = checkURL(filePath + lan + fileName);
showNotification("result is: " + lanFound);
if(lanFound){
debugger;
fileUrl = filePath + lan + fileName;
showNotification("found " + fileUrl);
}
}
function checkURL(urlFileName){
$.get(urlFileName)
.fail(function() {
showNotification(urlFileName + " failed");
return false;
})
.done (function() {
showNotification(urlFileName + " succeeded");
return true;
});
}
可以忽略这一点 - 只是增加了“showNotification”)
function showNotification(content){
var currentText = $("#resultpanel").html();
currentText = currentText + "<br/>" + content;
$("#resultpanel").html(currentText);
}
和问题? – madalinivascu
为什么变量变得不确定! (请参阅输出项目符号) –
您正在为函数执行返回值分配变量: lanFound = checkURL(filePath + lan + fileName); 如果你去checkURL函数,你会看到这个函数没有事件有'return'语句,在'.fail'和'.done'方法的回调函数中只有一个返回值。这些回调将返回一个值,但是checkURL不会返回任何东西。因此,Javascript中没有'return'语句的每个函数都会返回'undefined'。我不知道为什么它被标记为重复。 –