getJSON Синхронный
ЦЕЛЬ: Что яm after - это получение данных из базы данных и обновление файла main.php (более очевидного через draw_polygon) каждый раз, когда что-то добавляется в базу данных (после $ .ajax для submit_to_db.php).
Так что в основном у меня есть main.php, который ajax вызывает другой php для получения массива, который будет сохранен в базе данных, а json вызывает другой php для возврата массива, который будет использоваться 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);
});
}
});
В моем случае то, что я сделал, былоget_from_db
вызов функции дляgetJSON
на самом деле получить данные из базы данных, с данными, которые будут использоваться дляdraw_polygon
, Но так ли это должно быть сделано? Я'м полный новичок, и это мой первый раз, чтобы попробоватьgetJSON
и аякс тоже честно говоря. Итак, мой вопрос: как на самом деле работает асинхронный? Есть ли другой обходной путь для этого вместо того, чтобы вызывать функциюget_from_db
сgetJSON
(это н'синхронно, не так ли? вот почему это нене обновлять страницу, когда ее нетт в функции?) Все время - как$.ajax
сasync: false
(Я не могмежду прочим, это работает). Мой подход работает, но я подумал, что, может быть, есть и другие лучшие способы сделать это. Я'Я хотел бы узнать, как. Заранее спасибо. Я надеюсь я'В этом есть какой-то смысл.
Чтобы было понятнее, здесьЧто я хочу достичь:
@start
страницы, получить данные из базы данных (в настоящее время через)getJSON
Рисовать или рисовать вcanvas
с использованиемdata
Когда я нажимаю кнопку «Готово», она обновляет базу данных.Я хочу, чтобы АВТОМАТИЧЕСКИ получить данные снова, чтобы перекрасить изменения в холсте.