jquery – getJSON同步

前端之家收集整理的这篇文章主要介绍了jquery – getJSON同步前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目标:我每次在数据库添加一些东西($ .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也是诚实的。所以我的问题:异步工作如何实际?是否有另一种解决方法,而不是使用getJSON调用函数get_from_db(它不是同步的,是吗?为什么当它不在一个函数内时不更新页面?)所有的时间 – 像$ .ajax with async:false(我不能让它工作的方式)。我的做法是有效的,但我认为也许还有其他更好的方式来做。我很乐意学习如何提前致谢。我希望我有任何意义。

为了使之更清楚,以下是我想要实现的:

> @start页面,从数据库获取数据(目前通过getJSON)
>使用数据绘制画布
>当我点击完成按钮,它将更新数据库
>我想自动获取数据以重绘画布中的更改。

解决方法

异步确实意味着请求在后台运行,并在得到响应时调用您的函数。如果您想获得结果但允许在请求中使用您的应用程序,则此方法最好。如果要直接响应,请查看同步请求。该请求将暂停脚本执行,直到得到响应,并且用户在收到响应之前无法执行任何操作。您可以通过以下方式切换:
async: false,

例如:

$.ajax({
    url: "myurl",async: false,...
})

猜你在找的jQuery相关文章