2014-01-14 65 views
1

我是jQuery的新手,目前正在嘗試實現ajax調用,它將永久輪詢服務器並請求一些數據。阿賈克斯工作正常,因爲我能夠打我的服務器端控制器的方法,但添加後數據:gameLink param它停止工作。這裏是我的jQuery函數:春季mvc環境中的jQuery ajax調用數據參數問題

window.setInterval(pollActiveParticipants, 10000); 
    function pollActiveParticipants() { 
     $.ajax({ 
      type: "GET", 
      url: "pollActiveParticipants", 
      data: {"gameLink": $gameLink }, //this is where i need help! 
      dataType: 'json', 
      success: function(data){ 
       $.each(data, function(index, value) { 
        '<p>' + value.username + '</p><br>'; 
       }); 
      } 
     }); 
    } 

的$ gameLink存在於JSP下面我幾句我使用它作爲

<br> 
Other participants can access the game on the following url: &nbsp; ${gameLink} 
<br> 

什麼是正確的語法,添加$ gameLink按要求PARAM或者我做錯了什麼?

+0

不用客氣。它避免了複雜性。 –

回答

2

你試過這樣嗎?

function pollActiveParticipants() { 
var gameLink = '${gameLink}'; 

//Make sure it is having the value here. 
//alert(gameLink); or console.log(gameLink); 

    $.ajax({ 
     type: "GET", 
     url: "pollActiveParticipants", 
     data: {"gameLink": gameLink }, 
     dataType: 'json', 
     success: function(data){ 
      $.each(data, function(index, value) { 
       '<p>' + value.username + '</p><br>'; 
      }); 
     } 
    }); 
} 

var gameLink = '${gameLink}'; //previously '<%=gameLink %>', not recommended 
url: "pollActiveParticipants?gameLink="+gameLink, 
dataType: 'json', 
... 

希望這有助於。

+0

工作正常。爲什麼它需要提取到一個單獨的變量和使用jQuery中的變量?但是,謝謝你的答案。 – shippi

+0

它不 - 您是否在下面嘗試我的答案(發佈第一個BTW)? – nickdos

+0

@nickdos - 零件var gameLink ='$ {gameLink}'; data:{「gameLink」:gameLink}對我來說工作正常,如果我提醒遊戲鏈接,它會向我寫入正確的輸出。但是,只要我有機會,我會嘗試你的建議,因爲它也是非常優雅的解決方案。我很欣賞你們的答案! – shippi

1

我要一刺和猜測$gameLink是GSP變種,而不是一個JS變種......在這種情況下,你需要字符串引號,這樣的:

data: {"gameLink": "${gameLink}" },