为什么我可以在脚本标记之外读取这个jQuery var,但不在script标记内?

时间:2018-05-17 02:04:49

标签: javascript jquery

我的网络控制器设置了三个变量...... dbSettingsExistdbSettingsConnectdbSettingsFailureMessage ...然后显示网页(我在下面包含了相关部分)。< / p>

在底部,为了测试(在标签处),我将所有三个显示为字符串,它们工作正常。

在标签内部,前两个评估为true和false就好了。

但在#dangerAlert行,我无法读取dbSettingsFailureMessage变量。

如果我将其更改为dbSettingsExist,则可以正常使用,但不能dbSettingsFailureMessage

我做错了什么?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<script type="text/javascript">

$( document ).ready(function() {
    if (${!dbSettingsExist}) {
        $("#warningAlert").html("<strong>Warning:</strong> DB settings need to be specified for the app.");
        $('#warningAlert').show();
    }

    if (${dbSettingsExist}) {
        if (${!dbSettingsConnect}) {
            $("#dangerAlert").html("<strong>Error:</strong> Specified DB settings do not work: "+${dbSettingsFailureMessage});  
            $('#dangerAlert').show();
        }
    }
});

</script>

<div id="successAlert" class="alert alert-success collapse"></div>
<div id="infoAlert" class="alert alert-info collapse"></div>
<div id="warningAlert" class="alert alert-warning collapse"></div>
<div id="dangerAlert" class="alert alert-danger collapse"></div>

<h2>${appDTO.getAppName()}</h2>

<h3>dbSettingsExist = ${dbSettingsExist}</h3>
<h3>dbSettingsConnect = ${dbSettingsConnect}</h3>
<h3>dbSettingsFailureMessage = ${dbSettingsFailureMessage}</h3>

1 个答案:

答案 0 :(得分:0)

改变了这个......

$("#dangerAlert").html("<strong>Error:</strong> Specified DB settings do not work: "+${dbSettingsFailureMessage});  

......对此...

$("#dangerAlert").html("<strong>Error:</strong> Specified DB settings do not work: ${dbSettingsFailureMessage}");

立即行动,谢谢!