You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于API数据在EJS文件中通过条件判断动态修改内容?

问题解决方法

你的EJS条件判断失效,大概率是数据类型不匹配导致的:如果后端index.js传来的uvdata是数字类型(比如0、3),但你在判断里用了字符串('0'、'3')做全等比较(===),两者类型不同,判断逻辑自然不生效。

修正方案1:统一数据类型做比较

把判断条件里的字符串值改成数字,直接和数字类型的uvdata对比:

<div class="card" >
    <div class="UVradiation">
        <div class="title">
            <h2 class="uv">当前紫外线强度: <%= uvdata %></h2>
        </div>
        <div>
            <% if(uvdata === 0 || uvdata === 1 || uvdata === 2) { %>
                <p>低紫外线强度,无需特殊防护,正常外出即可。</p>              
            <% } else if(uvdata === 3 || uvdata === 4 || uvdata === 5) { %>
                <p>中等紫外线强度,外出建议涂抹防晒霜、佩戴遮阳帽。</p>
            <% } else if(uvdata === 6 || uvdata === 7) { %>
                <p>较高紫外线强度,避免正午时段外出,做好全面防晒措施。</p>
            <% } else if(uvdata === 8 || uvdata === 9 || uvdata === 10) { %>
                <p>高紫外线强度,尽量减少外出,必须外出时穿戴防晒衣物、墨镜。</p>
            <% } else { %>
                <p>极强紫外线强度,严禁长时间暴露在户外,建议留在室内。</p>
            <% } %>
        </div>
    </div>
</div>

修正方案2:先转换uvdata类型再判断

如果后端传来的uvdata是字符串类型,先通过parseInt()或Number()把它转成数字,再用区间判断(比逐个值写||更简洁):

<div class="card" >
    <div class="UVradiation">
        <div class="title">
            <h2 class="uv">当前紫外线强度: <%= uvdata %></h2>
        </div>
        <div>
            <% // 先将uvdata转为数字类型 %>
            <% const uvNum = parseInt(uvdata); %>
            <% if(uvNum >= 0 && uvNum <= 2) { %>
                <p>低紫外线强度,无需特殊防护,正常外出即可。</p>              
            <% } else if(uvNum >= 3 && uvNum <= 5) { %>
                <p>中等紫外线强度,外出建议涂抹防晒霜、佩戴遮阳帽。</p>
            <% } else if(uvNum >= 6 && uvNum <= 7) { %>
                <p>较高紫外线强度,避免正午时段外出,做好全面防晒措施。</p>
            <% } else if(uvNum >= 8 && uvNum <= 10) { %>
                <p>高紫外线强度,尽量减少外出,必须外出时穿戴防晒衣物、墨镜。</p>
            <% } else { %>
                <p>极强紫外线强度,严禁长时间暴露在户外,建议留在室内。</p>
            <% } %>
        </div>
    </div>
</div>

额外排查建议

可以在后端index.js里打印uvdata的类型确认问题:

console.log(typeof uvdata); // 输出string或number,明确类型后再调整前端判断

内容的提问来源于stack exchange,提问作者Mythri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 20:15:32