0
$('area').on('mouseover', function() {
    var territory = $(this).attr('name');
    var territoryString = new String(territory);
    var owner = <%game.getTerritory(territoryString).getOwner().getName(); %>;

    $('#selection').html(territory);
});
});

我正在尝试从存储为 JSP 对象的 Game 对象中获取数据。我试图获取的领土作为领土列表位于游戏对象中。有没有办法将javascript变量作为参数传递?还是我需要用地区列表制作一个 JSP 对象?

4

1 回答 1

0

你不能直接。您有两个选择:您可以在第一次加载页面时加载客户端中的所有区域名称,然后使用此客户端对象向区域询问特定的区域字符串:

var Territories = <% Print a json string map with the territories info with the server side code %>

$('area').on('mouseover', function() {
     .....
     var owner = Territories[territoryString].name;
      ....

这种方法的问题是,如果服务器数据发生变化,您的客户端对象将不会被实现。

另一种方法是在 click 函数中使用 ajax 调用,然后将结果加载到 JavaScript 变量中。

如果你真的想要实时的东西,有一些商业框架可用于在服务器和客户端变量之间进行自动同步,例如:“pusher”

于 2013-07-24T15:47:47.487 回答