Websockets是完全矯枉過正的,但是你說你已經完成了另一部分應用程序......你的後端是什麼?如果你喜歡C#,ASP.NET有很多選擇(MVC4是我個人最喜歡的)。
在MVC中,你會在您的頁面控制器,用於解釋一些JSON從AJAX調用傳遞有點像這裏面的一個動作:
public JsonResult FooData(int _id)
{
var dataContext = true;
if(_id == 7)
dataContext = false;
return Json(dataContext, JsonRequestBehavior.AllowGet);
}
...並在您的客戶端,你會調用FooData方法像這樣:
$.ajax({
url: "MyController/FooData",
data: { _id: obj.id },
dataType: 'json',
async: true,
success: ChangeImage
});
凡ChangeImage是一個JavaScript函數設置爲你的Ajax調用的成功回調函數,所以它可能是這樣的:
function ChangeImage(data) {
if(data == true)
document.getElementById('myImg').src = "red.jpg";
else
document.getElementById('myImg').src = "green.jpg";
}
這是短暫的,甜蜜的和重點。有一個學習曲線,但它是非常值得的時間和精力。我不能沒有這個框架了!
編輯:忘了添加數據傳遞給ajax調用,現在修復!
編輯編輯:我沒有添加if click check bool -> if true, set false -> send flag -> if flag == 'change' change color -> if click ... etc etc etc
的邏輯,因爲這只是忙碌的工作。儘管如此,這已經足夠讓你滿意了。
此切換是否需要影響當前瀏覽您的網站的所有用戶,因此如果用戶A單擊切換,用戶B立即看到效果?如果沒有,那麼websockets是矯枉過正的,你只需要一個發送ajax請求的點擊事件。 –
凱文,不,它只是在每個用戶,所以AJAX將是要走的路。謝謝回覆。 – Doughy