该怎么将值传给async代码块内

新手上路,请多包涵

我是名Java开发者,想修改下面async 代码里的symbol参数,页面里hidden标签由Springboot thymeleaf修改赋值,然后将页面传给客户端。现在下面代码里提示
Widget settings parse error: SyntaxError: Unexpected token s in JSON at position 45
45行就是script async里symbol的位置。


<html>
<head>
    <meta name='viewport'
          content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no'>

</head>

<body>
<style type="text/css">
    html, body {
        height: 100%;
        margin: 0;
        padding: 0
    }

    #tradingview-widget-container__widget {
        width: 100%;
        left: 0px;
    }

    #tradingview_b59ae {
        width: 100%;
        position: absolute;
        top: 126px;
        bottom: 0px;
        left: 0px;
    }

</style>
<input type="hidden" value="COINBASE:BTCUSD" id="symbol"/>
<script type="text/javascript">
        var symbol = document.getElementById("symbol").value;
     </script>
<div class="tradingview-widget-container" style="background-color:#2A2D38">
    <div class="tradingview-widget-container__widget"></div>
    <div class="tradingview-widget-copyright"><a
            href="https://www.tradingview.com/" rel="noopener"
            target="_blank"><span class="blue-text">Data</span></a> by TradingView
    </div>
    <script type="text/javascript"
            src="https://s3.tradingview.com/external-embedding/embed-widget-single-quote.js" async>
        {
            "symbol"
        :
            symbol,
                "width"
        :
            "100%",
                "colorTheme"
        :
            "dark",
                "isTransparent"
        :
            false,
                "locale"
        :
            "en"
        }
    </script>
    <!-- </div> -->
    <!-- <div class="tradingview-widget-container" style="background-color:#2A2D38"> -->
    <div id="tradingview_b59ae" style="background-color:#2A2D38"></div>
    <script type="text/javascript" src="https://s3.tradingview.com/tv.js"></script>
    <script type="text/javascript">
        new TradingView.widget(
            {
                "autosize": true,
                "symbol": symbol,
                "interval": "D",
                "timezone": "Etc/UTC",
                "theme": "Dark",
                "style": "3",
                "locale": "en",
                "toolbar_bg": "#f1f3f6",
                "enable_publishing": false,
                "withdateranges": true,
                "save_image": false,
                "container_id": "tradingview_b59ae"
            }
        );
    </script>
</div>
<!-- TradingView Widget END -->
</body>
</html>

请问应该如何正确的传值呢?感谢!

阅读 1.5k
1 个回答

symbol的值如果确定是json字符串的话,试试包一层JSON.parse()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题