猿问

Ajax 获取数据的问题

ajax获取数据成功,利用数据填充页面,然后数据消失

Rest.get(_latest_data_url,headers,function(rep){        for (var key in rep){            
        var temp_dp=$("#latest_"+key);            if(temp_dp&&key!='usr'){
                temp_dp.val(rep[key]);
            }
        }
    },function(rep){
        Tips.responseAlert(rep);
    },true);

代码如上,利用ajax同步发送get的请求获取数据,我利用浏览器调试,发现数据是成功获取到的,但是调试进入jquery库的时候,页面上的数据突然清空了

上面的接口其实就是ajax,第一个参数是url,第二个是headers,第三个是成功时的回调,第四个是失败时的回调,第4个表示是否同步,发的是get请求


尚方宝剑之说
浏览 560回答 1
1回答

萧十郎

Fix:其实是我自身的问题,不过还是提出来给大家留个教训吧。在这步填充数据之前,还有一步获取页面结构(就是获取页面中的元素,页面元素是随数据库更改而更改的),也就是说,页面是动态构建的,但是那一步我用了异步的。这样就有这样的问题了:第一次触发时:一开始无页面元素,获取页面元素,填充页面,获取数据,填充页面数据第二次及以后触发时:一开始有页面元素,异步&(获取页面元素,重构页面结构),同步&(获取数据,填充页面数据)所以就有下面几种可能了:1.先将数据填充到了一开始的页面元素,然后异步获取页面元素完成,重构页面(此时重构的页面是一样的,但是数据已经不见了,看起来就是一闪而过)2.异步先完成,重构页面,获取数据,填充数据(正常)3.异步先完成,重构页面途中,获取数据成功,填充数据,数据只填充了一部分(没遇到过,不过感觉有这种可能)引以为戒
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答