[技术博客] 如何在前端访问后端对象的更多数据

Posted mizhiniurou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[技术博客] 如何在前端访问后端对象的更多数据相关的知识,希望对你有一定的参考价值。

我们最近在做答题功能,有个需求是在前端判断用户的答案是否正确。
由于我们需要访问到答案数据,
一种方法是在前端调用使用Ajax到后端获取数据,代码如下:

function requestRemoveData() 
    $.ajax(
        url: '<服务器API地址>',
        success: (response) 
            console.log('后端返回的数据:');
            console.log(response);
        
    );

第二种方法是在将数据渲染在html的tag代码中,然后前端通过Jquery读取tags信息:

const question = $('span#question').val()

另一种更加简单的办法是在后端渲染html页面时,直接将题目数据存入页面的javascript代码中。在我们的SpringBoot项目中,我们使用的模板引擎是ThemyeLeaf,themeleaf提供方法可以直接将Java的数据对象转换成Javascript对象,并渲染进HTML的js代码中:

<th:block layout:fragment="scripts">
    <script th:inline="javascript">
        const questionDetail = [[$question]] ;
        console.log(questionDetail);
    </script>
</th:block>

上面的$question就是java代码向模板引擎传递的Java对象。

上述代码经过themeleaf渲染后,返回给前端的实际代码是:

        <script>
            const questionDetail = 
                "id":36,
                "title":"怎样评价日剧《逃避可耻但有用》?",
                "answer":"如果把gakki的颜值降低8分,把平匡的颜值降低4分,那么他们的生活便是中国最普通不过的呆萌程序员和不受人关注的女孩子。柴米油盐酱醋茶,女孩子为了假牙的钱烦恼,男生每天加班到很晚自卑的要命。但因为好看,所以浪漫。颜值改变一切。这个可恶的世界",
                "source":null,
                "tag":null,
                "other":null,
                "hint":null,
                "type":"ANSWER",
             ;
            console.log(questionDetail);
        </script>

由于js代码默认是全局共享变量,因此我们可以在任意位置访问questionDetail对象,是不是特别方便呢?

以上是关于[技术博客] 如何在前端访问后端对象的更多数据的主要内容,如果未能解决你的问题,请参考以下文章

写给产品经理之前端是如何展示后端数据的

如何在nodejs 中前端js调用后台的对象

后端如何接受json对象数据如何设置表头

后端实时生成图片,前端VUE如何获取并展示

ssm框架前端与后端如何联系

前端json请求,后端date无法解析该如何解析