我正在爲客戶端和服務器端使用javascript做一個使用javascript的項目。我試圖實現一種實時更新客戶端信息的方式。即當客戶端更新Web應用程序中的某些信息時,其他客戶端也會看到更新。我發現長時間輪詢是一個很好的技術。這是我試圖開始工作的代碼。用ajax和servlets進行長時間輪詢
function poll() {
setTimeout(function() {
$.ajax({
type: "GET",
url: "server",
contentType: "application/json",
data: {
type: "update",
card: "string"
},
success: function(data) {
alert(data);
},
error: function(data) {
alert('eroor');
},
dataType: "json",
complete: poll });
}, 5000);
}
我試圖每5秒向服務器發送一個請求並獲得新的更新響應。但是在網絡上看到的所有框架代碼中,data:
未設置。沒有設置它,服務器如何知道它收到的請求的類型,因爲還有其他類型的請求。但是當我設置data:
時,客戶端沒有發送任何請求。但沒有設置data:
請求被髮送到服務器。設置data:
是否錯誤?沒有它,我將如何讓servlet知道請求的類型?
據我所知,就像我在here中提到的那樣,長輪詢並不是我想要做的。但任何人都可以解釋我應該做什麼以及我做錯了什麼。
我發現控制檯沒有發送任何請求。當數據:未設置時,我可以在控制檯中看到響應 – user11
@ user11您是否發現瀏覽器嘗試發送請求?例如。在Firebugs Net Panel中,請參閱https://getfirebug.com/wiki/index.php/Net_Panel – wero
@ user11檢查此。 https://api.jquery.com/jquery.get。您可以使用$ .get –