jquety.text()无法与给定字符串进行比较

时间:2019-06-20 10:33:51

标签: jquery ajax spring spring-security

我有一个spring boot应用程序,在其中已实现了基于角色的身份验证。
最终用户通过身份验证后,应根据角色从数据库中加载菜单。
成功通过身份验证后,我将从百里香叶页面中提取角色,然后执行以加载菜单。

即使我在打印诸如alert("#hide").text()之类的角色值时,它也可以警告角色名称。
要加载菜单,我应该知道哪个用户已登录,以便可以加载正确的菜单。
这就是为什么我要提取值并像“ admin”,“ user”等进行比较。
但是比较不会发生

Home.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:th="http://www.thymeleaf.org"
    xmlns:sec="http://www.thymeleaf.org">


<head>

    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <meta http-equiv="X-UA-Compatible" content="ie=edge"/>
    <title>BSNL | CC</title>
    <link rel="stylesheet" type="text/css" media="screen, projection" 
          href="/static/css/bootstrap.css" 
          th:href="@{/css/bootstrap.css}" />

     <link rel="stylesheet" type="text/css" media="screen, projection" 
          href="/static/css/bootstrap.css" 
          th:href="@{/css/menu.css}" />

</head>
<body>

    <div id="includedContent"></div>

    Logged in user: <b th:inline="text"  class="user" id="hide"> [[${#httpServletRequest.remoteUser}]] </b> 
    <input type="hidden" class="order-entry" id="ID" placeholder="" th:value="${#httpServletRequest.remoteUser}"  value="${#httpServletRequest.remoteUser}"/>

    <script th:src="@{/js/jquery-3.4.1.js}"></script>
    <script th:src="@{/js/bootstrap.js}"></script>
    <script th:src="@{/js/custom.js}"></script>
    <script th:src="@{/js/home.js}"></script>
</body>
</html>

注意: ${#httpServletRequest.remoteUser}基于Spring的代码,以查看谁以管理员,用户或超级管理员身份登录。

Home.js

$(document).ready(function(){

    $("#includedContent").load("http://localhost:8080/BSNLCC-BackendWIthSecurity/home/"); 


    alert($("#hide").text());    //printing fine

    if($("#hide").text() == "null"){   //comparing not happening tried with ==== also
        alert(true);
      }
    /*
    if($("#rle").text() == "admin"){
        loadAdminMenu();
    }else if($("#ID").text() == "superadmin"){
        loadSuperAdminMenu();
    }

    function loadAdminMenu(){
        alert($("#rle").text());
        $.ajax({
            url: 'home/load/menu',
            type: 'GET',
            contentType : 'application/json; charset=utf-8',
            async: false,
            data: {
                role: $("#rle").text()
            },
            cache: false,
            datatype: 'json',
            success: function(data) {
                alert("success");
            },
            error: function(err){
                console.log(err);
            }
        });
    }*/

});

1 个答案:

答案 0 :(得分:0)

我忘了修剪提取值的一个愚蠢的事情。trim()发挥了神奇作用。