gpt4 book ai didi

javascript - 在 play 框架中将 javascript 变量转换为 scala

转载 作者:行者123 更新时间:2023-12-05 07:37:19 26 4
gpt4 key购买 nike

我在 javascript 中有一些变量:

var something = 1;
var url = "@CSRF(routes.Some.thing(something))";

我在编译期间遇到错误,因为“某物” 没有引用 javascript 变量,换句话说;编译器无法识别它。是否可以以某种方式转换/注入(inject) javascript 变量?此外,这是否在 javascript 中实时工作,或者我是否需要准备一个包含每个可能的“something”值的 "@CSRF(routes.Some.thing(something))" 数组?

这应该是一个简单的 rest 调用,在路由文件中可以看到:

/something/:something controllers.Some.thing(something : Long)

另一种方法是使用表单,但我不想这样做。

最佳答案

您需要使用 Javascript 路由并将 CSRF token 添加到请求中。

Javascript 路由描述:https://www.playframework.com/documentation/2.6.x/ScalaJavascriptRouting

看看我对问题的回答,并解释了如何将其用于 Assets (“正确且长期的解决方案”),其他事件的用法是相同的:How to update src of a img from javascript in a play framework project?

因此在您的情况下,Javascript 路由生成可能如下所示:

JavaScriptReverseRouter("jsRoutes")(
routes.javascript.Some.thing
)

在 JavaScript 中:

var something = 1;
var url = jsRoutes.controllers.Some.thing(something).url;

最后 - 不要忘记将 Csrf-Token header 添加到请求中。

关于javascript - 在 play 框架中将 javascript 变量转换为 scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48646563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com