javascript - 在play框架中从javascript调用java函数

标签 javascript jquery json playframework

我正在使用 play 框架做一个项目。

单击某些链接(例如“显示”)后,例如 car.show(55) 正在被调用,并且在 car.show 中正在执行一些数据库查询。然后 列表操作正在进行中。

我想做的是,从java脚本文件中调用removegivencar函数。

我的意思是,

当所有汽车都列在 html 文件中时。我将使用该车的 id 调用 js 函数。

例如:删除我的车

我想在js而不是html中调用car.removegivencar函数

因为我有车的 ID。我应该做 @{car.removMyOwremovegivencar(mycar.id)} 操作...

我试过了

function removeMyCar(id)
{
window.location="@{car.removMyOwremovegivencar(id)}";
}

或 window.location="@{car.removMyOwremovegivencar("+ id + ")"

等等。但做不到:((( 请引导我解决这个问题...

最佳答案

如果写得正确,那么它应该可以工作。但事实上,这是从数据库中删除实体的一个坏例子。这是因为您尝试使用 GET 请求。使用 GET 进行删除不仅符合逻辑,而且在某些情况下也可能对您的应用程序造成危险。但如果您以这种方式使用它,请检查以下内容:

你的路由文件应该包含类似的内容:

GET    /car/remove/{id}         car.removMyOwremovegivencar()

还要确保将 id 参数传递给您尝试调用 js 代码的 View 。我没有看到任何其他原因导致此代码不起作用。

但考虑更好的方法:

它是使这个 Action POST或DELETE并对其进行AJAX调用:

路线:

DELETE   /car/{id}         car.removMyOwremovegivencar()

和你的 JS(使用 jQuery):

function removeMyCar(id)
{
   $.ajax({
    type: "DELETE",
    url: "@{car.removMyOwremovegivencar()}",
    data: {
      id:id
    }
   });
}

关于javascript - 在play框架中从javascript调用java函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611049/

相关文章:

javascript - 如何通过名称查找 JavaScript 变量

php - 使用 PHP (json_encode) 将数组保存在 mysql 数据库中

json - 从带有多个对象的 JSON 文件批量加载 MongoDB

jquery - ListView 无法在 jQuery Mobile 中工作

jquery - jScrollPane 在 AJAX 调用后消失

javascript - 如果输入字段已预填充,则 jQuery 不起作用(切换清除功能)

java - 如何使用json将包含多个对象的json文件转换为java对象列表

javascript - 找不到模块 'esprima'

javascript - 引用 - 事件对象属性

javascript - 在 Angular 指令中的前后链接中打印属性