微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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,...
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐