当其他Ajax调用更改Div Y的内容时,如何自动更改Div X(使用AJAX)的内容



我已经在此工作了几个小时,并且有很多困难 - 无法找到解决方案。

我有两个divs。每当DIV2更改时,DIV3必须相应地更改其内容。DIV2通过Ajax更改,因此,当发生这种情况时,它也必须触发另一个Ajax调用以更改Div3。

这是详细信息:

  1. 我有main.html,其中包含几个不同的可点击按钮。onclick,这些按钮中的每个按钮都会触发Ajax函数加载,该功能在Div2中输出PHP文件。
  2. 此php脚本输出数据库查询的结果,该结果不同,取决于main.html中的哪个按钮。

  3. i有一个Div-div3,该Div3应该显示当前Div 3输出数据的内容。

  4. 因此,从逻辑上讲,每当Div2更改时,Div3内容都必须相应地更改。

  5. 最初,我认为我可以将功能调用在PHP文件末尾的第二个AJAX函数中,这样它将在PHP文件后立即加载,但显然无法从内部读取JavaAJAX输出。

这是我尝试的:

  1. 尝试在PHP文件末尾将函数调用在JavaScript <script>标签中,但由于上述原因没有工作。
  2. 我试图将函数称为PHP文件最后一个DIV的onload事件,但它不起作用。
  3. 我尝试将onchange添加到DIV2元素,以便每当内容通过Ajax更改时,第二个AJAX脚本都会运行,但它不起作用。
  4. 我试图从第一个AJAX函数的末尾调用我的第二个Ajax函数,但这阻止了我的第一个功能正常工作。
  5. 奇怪的是,如果我将功能附加到PHP文件中的onclick事件,并在PHP加载时从Div2中单击它,它可以正常工作,并且更新DIV3内容。

我需要做的就是找到一种方法,只要PHP页面加载或DIV2内容更改时,onclick函数调用到自动的东西。

其他注释:1.如果可以的话,我想远离eval,因为我试图学习它,但是开发适当的正则表达式和所有其他细节的方法对我来说似乎很复杂。我可能需要几个小时才能开发出一种适当的方法,即使那样也可能无法使用。...我更喜欢坚持我所忽略或可能无法正确实施的所有可能的简单选择。2.我会像鹰一样观看这篇文章,因此,如果您需要其他详细信息,请随时要求。我没有发布我的代码,因为它相当长,很难在一个更简短的示例中封装问题的性质。

谢谢!

如果我正确理解您,您可以尝试这样的事情:

$.ajax({
  type:'post',
  url:'url goes here',
  data:{<insert data being passed>},
  success:function(ret)
  {
      $('div y').html(ret); // populate div y
      $.ajax({
        type:'post',
        url:'second url goes here',
        data:{<insert data being passed>},
        success:function(ret2)
        {
         $('div x').html(ret2); // populate div x                
        }
      });    
  }
});

当然,这是一种jQuery的方法,我是一个很大的粉丝

最新更新