2013-07-24 42 views
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對象?JSP對象內的Javascript變量

+1

沒有,有沒有這樣的,因爲JSP是在處理服務器端和客戶端的JavaScript –

+0

可能重複[參考:爲什麼我的Javascript中的PHP(或其他服務器端)代碼無法正常工作?](http://stackoverflow.com/questions/13840429/reference-why -does-the-php-or-other-server-side-code-in-my-javascript-not-wor) – Quentin

+0

這裏的解決方案是使用一個ajax請求,它可以將所選的「地區」發送到服務器和服務器端返回所有者的值 –

回答

0

你不能直接。 你有兩種選擇:在您的客戶端stript第一次加載頁面 要麼你加載所有領土的名字,然後你問使用該客戶端對象類似的東西具體territoryString境內:

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; 
     .... 

該方法的問題在於如果服務器數據更改,則不會實現您的客戶端對象。

其他方法是在您的點擊函數中使用ajax調用,然後將結果加載到您的JavaScript變量中。

如果你真的想在實時的東西有可用做服務器和客戶端變量之間自動同步一些羅科梅框架爲例:「推」