getJSON Synchronous
OBJETIVO: O que eu estou procurando é obter dados do banco de dados e atualizar main.php (mais evidente através de draw_polygon) toda vez que algo é adicionado no banco de dados (depois de $ .ajax para submit_to_db.php).
Então, basicamente eu tenho um main.php que irá chamar ajax outro php para receber uma matriz que será salvo no banco de dados, e um json chamar outro php para retornar uma matriz será usada por main.php.
$(document).ready(function() {
get_from_db();
$('#button_cancel').click(function(){
$.ajax({
url: 'submit_to_db.php',
type: 'POST',
data: {list_item: selected_from_list},
success: function(result){
...
get_from_db();
}
});
});
function get_from_db(){
$.getJSON('get_from_db.php', function(data) {
...
draw_polygon(data);
});
}
});
No meu caso, o que eu fiz foiget_from_db
chamada de função paragetJSON
para realmente obter dados do banco de dados, com os dados a serem usados paradraw_polygon
. Mas é assim que deve ser feito? Eu sou um novato completo e esta é a minha primeira vez para tentargetJSON
e ajax também para ser honesto. Então, minha pergunta: Como o trabalho assíncrono realmente funciona? Existe outra solução para isso em vez de ter que chamar a funçãoget_from_db
comgetJSON
(não é síncrono, é por isso que não atualiza a página quando não está dentro de uma função?) o tempo todo - como$.ajax
comasync: false
(Eu não consegui fazê-lo funcionar pelo caminho). Minha abordagem está funcionando, mas achei que talvez houvesse outras maneiras melhores de fazer isso. Eu adoraria aprender como. Desde já, obrigado. Espero que esteja fazendo algum sentido.
Para tornar isso mais claro, aqui está o que eu quero alcançar:
@start
de página, obter dados do banco de dados (atualmentegetJSON
)Pintar ou desenharcanvas
usando odata
Quando clico no botão pronto, ele atualiza o banco de dadosQuero AUTOMATICAMENTE obter os dados novamente para repintar as alterações na tela.