Zrobiłem przycisk Ajax Like. Po kliknięciu przycisku podobnego, to trwa około 800ms - 1100 ms zrobić następujące rzeczy:Jak zwiększyć szybkość mojego przycisku Ajaxa (Jquery + PHP)
- Otwórz
insertlike.php
stronie w tle przy użyciu jQuery - Dodaj podobnego do bazy w
insertlike.php
stronie - potwierdzić jak przy użyciu JSON
- Zmień kolor przycisku na zielony.
Ale przycisk Facebook's
i inny przycisk witryny działają bardzo szybko.
Facebook bezpośrednio zmienia kolor przycisku podobnego na kliknięcie lub zmienia się tylko po dodaniu go do bazy danych?
To jest mój kod:
index.php
kod aby ajax żądania
$(".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;
});
kod wewnątrz insertlike.php
<?php
// Add to Database code
$response = new \stdClass();
$response->addremove = "".$addremove."";
$response->addedornotsend = "".$addedornotsend."";
die(json_encode($response));
jakikolwiek sposób wstawić jak prędkość przycisk? Może jakiś sztuczka z php lub coś w tym stylu? Nadal jestem nowicjuszem.
Edit: To jest moja próba prędkość czas odpowiedzi serwera:
Więc pytasz, jak facebooki, takie jak funkcje przycisków ... To zależy od ciebie, aby zbadać, ponieważ wiemy, że inne strony, z którymi porównujesz, mogą wykorzystywać dane w czasie rzeczywistym, takie jak websockets. Bez korzystania z nich nie masz wyboru, musisz czekać na połączenie ajax i serwer po stronie, jeśli chcesz potwierdzić aktualizację. – NewToJS
Możesz pomalować przycisk, wyobrażając sobie, że wszystko poszło dobrze, a po jego zakończeniu, jeśli coś jest nie tak, wyświetla się komunikat o błędzie. – vortin
Kod sugeruje, że masz dane wejściowe z id 'addedornotsend' na * każdym * jak przycisk. Czy to jest poprawne? –