我做了一個Ajax Like按鈕。點擊喜歡按鈕後,大約需要800毫秒 - 1100毫秒做以下的事情:如何增加我的Ajax像按鈕速度(jQuery + PHP)
- 打開
insertlike.php
頁面中使用jQuery 背景
- 等等添加到數據庫中
insertlike.php
頁 - 確認等等使用JSON
- 將類似按鈕的顏色變成綠色。
但是Facebook's
和其他網站的Like按鈕的工作速度非常快。
Facebook在點擊時直接改變喜歡的按鈕顏色,或者只是在將數據添加到數據庫之後才改變。
這是我的代碼:
index.php
代碼,使Ajax請求
$(".insertlike").submit(function(e) {
var data = $(this).serialize();
var url = $(this).attr("action");
var form = $(this);
$.post(url, data, function(data) {
try {
data = JSON.parse(data);
$(form).children("button").html(data.addremove + " Watchlist");
$(form).children("input#addedornotsend").attr("value",data.addedornotsend);
} catch (e) {
console.log("json encoding failed");
return false;
}
});
return false;
});
代碼中insertlike.php
<?php
// Add to Database code
$response = new \stdClass();
$response->addremove = "".$addremove."";
$response->addedornotsend = "".$addedornotsend."";
die(json_encode($response));
任何方式插入類似按鈕的速度?也許一些PHP緩存技巧或類似的東西?我仍然是新手。
編輯:這是我的服務器響應時間速度測試:
所以你問的是Facebook的按鈕功能怎麼樣...這將由你來調查,因爲我們知道你比較的其他網站可能使用實時數據,如websockets。如果你想確認更新,沒有使用它們,你別無選擇,只能等待ajax調用和服務器端完成。 – NewToJS
你可以畫按鈕想象一切順利,一旦完成,如果有錯誤顯示錯誤信息。 – vortin
該代碼建議你在每個* like按鈕上都有一個id爲'addedornotsend'的輸入。那是對的嗎? –