程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery-函数对JSON导入的数据不起作用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决jQuery-函数对JSON导入的数据不起作用?

开发过程中遇到jQuery-函数对JSON导入的数据不起作用的问题如何解决?下面主要结合日常开发的经验,给出你关于jQuery-函数对JSON导入的数据不起作用的解决方法建议,希望对你解决jQuery-函数对JSON导入的数据不起作用有所启发或帮助; || 我有一个应用程序,该应用程序从JsON导入数据并(通过Jquery的
append()
)生成许多表示数据的HTML列表:
<ol ID=\"iran\">
    <li class=\"y1900\"><p>Iran 1900 Revolution flag</p></li>
    <li class=\"y1906\"><p>Iran 1906 Dictator flag</p></li>
    <li class=\"y1921\"><p>Iran 1921 Revolution flag</p></li>
</ol>
我有一个函数
resizeflags()
(仅用于UI)计算每个列表项的宽度并调整大小以将所有内容放入一个屏幕。
resizeflags()
函数在
$(document).ready()
期间(在JsON加载之后)被调用,并且可以与我的测试(静态)HTML文件一起正常工作,但是在删除测试HTML并使用JsON数据附加相同的HTML时不起作用-附加列表进入DOM正确,但是调整大小不会发生。 我有一个手动触发
resizeflags()
(用于根据新的年份范围进行重新计算),并且在附加数据上可以正常使用。 我觉得我已经忽略了一个明显的问题-我想念的是什么? 编辑: 这是附加数据的代码(我已将
resizeflags()
临时移入该函数,通常在之后直接调用它:
function loadFlags() {
$.getJsON(\'data/flags.Json\',function(countrIEsdata){
    //for each flag
    $.each(countrIEsdata.countrIEs,function(i,countrIEs){
        $(\'#countrIEs\').append(\'<li ID=\"\'+countrIEs.country+\'\">\'+countrIEs.country+\'</li>\')
        $(\'#flags\').append(\'<ol ID=\"\'+countrIEs.country+\'\"></ol>\')
        $.each(countrIEs.years,flagyears){
            $(\'#flags #\'+countrIEs.country).append(\'<li class=\"y\'+flagyears.year+\' \'+flagyears.taxonomy+\'\"><p>\'+flagyears.flagname+\'</p></li>\')
        });
    });
});
//resize from defaults
resizeflags(@R_623_10586@lYears);
}
    

解决方法

Ajax调用(例如$ .getJSON)是异步的。 这意味着,即使您在触发准备就绪的文档中的
resizeFlags()
函数之前立即进行JSON调用,响应也可能尚未到达。 确保在正确的时间调用
resizeFlags()
的唯一方法是将其放入成功处理程序中,如下所示:
$.getJSON(\'some-url\',function(data) {
  //1. do something with the data (like build the list,append elements to the DOM)
  //...
  //2. call other UI stuff,after the elements created above are inserted in the DOM
  resizeFlags();
});
仅当JSON响应的接收速度非常快时(在执行更多代码之前),以下代码才有效:
$.getJSON(...);
//some more code
resizeFlags();
    ,您正在JSON查询的回调函数外部调用ѭ12。即使在返回JSON数据之前,也可以立即调用此方法。一旦完成每个循环,就将该行放入JSON成功回调中     ,您需要在getJSON调用完成后(即在插入函数的末尾)调用resizeFlags。否则,在调整大小时这些元素将不存在     ,附加JSON数据后,您将需要调用resizeFlags()函数。 如果resizeFlags()可以在CSS中完成,则无需再次调用resizeFlags()。     

大佬总结

以上是大佬教程为你收集整理的jQuery-函数对JSON导入的数据不起作用全部内容,希望文章能够帮你解决jQuery-函数对JSON导入的数据不起作用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。