gpt4 book ai didi

jquery - getJSON 同步

转载 作者:行者123 更新时间:2023-12-03 21:28:44 27 4
gpt4 key购买 nike

目标:我所追求的是每次在数据库中添加某些内容时(在 $.ajax 到 Submit_to_db.php 之后),从数据库获取数据并刷新 main.php(通过 draw_polygon 更明显)。

所以基本上我有一个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);
});
}
});

就我而言,我所做的是对 getJSONget_from_db 函数调用,以实际从数据库获取数据,并将数据用于 draw_polygon。但这是应该做的吗?我是一个完全的新手,说实话,这也是我第一次尝试 getJSON 和 ajax。所以我的问题是:异步实际上是如何工作的?是否有另一种解决方法,而不必使用 getJSON 调用函数 get_from_db (它不是同步的,是吗?这就是为什么它在它不在函数内?)一直如此 - 就像 $.ajaxasync: false (顺便说一句,我无法让它工作)。我的方法是有效的,但我想也许还有其他更好的方法可以做到这一点。我很想了解如何操作。

为了更清楚地说明,这是我想要实现的目标:

  1. 页面的@start,从数据库获取数据(目前通过getJSON)
  2. 使用数据canvas中绘画或绘制
  3. 当我点击“完成”按钮时,它将更新数据库
  4. 我想再次自动获取数据以重新绘制 Canvas 中的更改。

最佳答案

由于$.getJSON()使用ajax配置,只需设置全局ajax配置:

// Set the global configs to synchronous 
$.ajaxSetup({
async: false
});

// Your $.getJSON() request is now synchronous...

// Set the global configs back to asynchronous
$.ajaxSetup({
async: true
});

关于jquery - getJSON 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13009755/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com