小编典典

jQuery链接.load()请求?

ajax

所以我刚才正在使用jQuery的.load(),看来我们无法配置`$(“#example”).load(‘./uri.ext

ID’)`成这样的链接:

`$(“#example”).load(‘./uri.ext #ID1’).load(‘./uri.ext #ID2’).load(‘./uri.ext

ID3’)`

如果我们具有DIV的模板文件或用于动态构建页面的文件,而不将HTML存储在字符串变量中或沿这些行存储的东西,那哪种方法当然会有用。此外,我们可以将其中几个文件保存在一个文件中。

理想情况下,我想使用该命令嵌套此类内容:

<div id="example">
    <div id="ID1">
        <div id="ID2">
            <div id="ID3">
            </div>
        </div>
    </div>
</div>

我遇到的问题有两个方面。首先,async : true请求的属性导致下一个请求触发,并且展示位置未按预期进行。然后,我尝试运行嵌套的$(“#example”)。load(’./
uri.ext#ID1’)。ajaxCompletes(function(){/ next .load()按顺序
/})`,最终一个没有结束的递归陷阱,并不断向这些文件发送请求。

对如何像我尝试过的那样使用语法/方法来完成我的工作有任何想法吗?另外,如果这不是问题,而只是我对jQuery链的理解上的误解,那么对此的任何解释我都会非常感谢。


阅读 410

收藏
2020-07-26

共1个答案

小编典典

您需要将它们嵌套在回调函数中以实现此目的:

$('#example').load('./uri.ext #ID1', function() {
  $('#ID1').load('./uri.ext #ID2', function() {
    $('#ID2').load('./uri.ext #ID3', function() {
      // load successful
    });
  });
});

编辑ES6 标准:

 $('#example').load('./uri.ext #ID1', () => {
      $('#ID1').load('./uri.ext #ID2', () => {
        $('#ID2').load('./uri.ext #ID3', () => {
          // load successful
        });
      });
    });
2020-07-26