Thymeleaf用于Javascript代码中的URL?

时间:2016-11-18 06:04:33

标签: javascript ajax thymeleaf

我的问题如下:

  1. 项目基本网址为: http://servername/sampelProjectName
  2. 测试页网址为: http://servername/sampelProjectName/user/home ,在这个页面中,我包含了一个javascript文件 - datatable.packer.js,我使用下面的代码包含它:
  3. 
    
    <script type="text/javascript" th:src="@{/resources/js/datatable.packer.js}"></script>
    &#13;
    &#13;
    &#13;

    在上面的 datatable.packer.js 文件中,有一个ajax调用,ajax调用url是:&#34; / api / test&#34;,如下定义:

    var url="/api/test"; 
    
    1. 然后当我访问 http://servername/sampelProjectName/user/home 页面时,ajax调用网址解析为:&#34; http://servername/user/home/api/test&#34; ,而不是预期的网址&#34; http://servername/sampelProjectName/api/test&#34;,如果将网址定义更改为&#34; api / test&#34; ,则会解析为url:&#34; http://servername/api/test&#34; ...
    2. 对此问题的任何建议?如何在javascript代码中使用url?非常感谢你的帮助。

1 个答案:

答案 0 :(得分:2)

您可以定义用于定义URL的JS块。 不确定它有多优雅但绝对有效

<script th:inline="javascript">
    /*<![CDATA[*/
    apiUrl = "http://servername/sampelProjectName/api/test";
   /*]]>*/
</script>

我想这样你的js代码就能看到那个变量。