getJSON 同步

2024-02-25

目标:我所追求的是每次在数据库中添加某些内容时(在 $.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);
         });
    }
 });

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

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

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

由于 $.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
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

getJSON 同步 的相关文章

随机推荐