Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一个jQuery调用可以加载多个HTML容器吗?_Php_Jquery - Fatal编程技术网

Php 一个jQuery调用可以加载多个HTML容器吗?

Php 一个jQuery调用可以加载多个HTML容器吗?,php,jquery,Php,Jquery,我想知道是否有一种方法允许jQuery只需一次调用就可以加载多个HTML容器。例如: . <div id='one'></div> <div id='two'></div> . . <script type="text/javascript"> jQuery("#one").load("somephpmodule.php", "", function(responseText, textStatus, XMLHtt

我想知道是否有一种方法允许jQuery只需一次调用就可以加载多个HTML容器。例如:

.
<div id='one'></div>
<div id='two'></div>
.
.
<script type="text/javascript">
   jQuery("#one").load("somephpmodule.php", "",
        function(responseText, textStatus, XMLHttpRequest) {
             if(textStatus == 'error') {
                 jQuery('#one').html('There was an error making the AJAX request');
             }});
</script>
.
。
.
.
jQuery(“#one”).load(“somephpmodule.php”,”,
函数(responseText、textStatus、XMLHttpRequest){
如果(textStatus=='error'){
jQuery('#one').html('发出AJAX请求时出错');
}});
.

在上面的代码中,只有
div
“one”将从
somephpmodule.php
输出中加载。如何通过一次呼叫同时加载div
two?还是只需要发出多个呼叫?

将两个都放在一个新的空标签或另一个您选择的带有id的标签中,然后加载到该标签中。

我会这样做:

php处理所有用户模块并返回一个数组,其中键是div id(1、2、3等),值是要添加到页面中的HTML块

这将进行一次大的调用来加载所有模块

<script type="text/javascript">
$.getJSON('loadUserModuels.php', function(data) {
  $.each(data, function(index, value) { 
    $("#" + index).html(value); 
  });
});
</script>

$.getJSON('loadUserModuels.php',函数(数据){
$.each(数据、函数(索引、值){
$(“#”+索引).html(值);
});
});

就我个人而言,我会使用jquery.ajax函数返回包含两个信息位的json,然后在客户端,我会让脚本将json中的适当数据放入适当的div标记中


使用此方法,您可以有许多div标记,单个请求将以json格式返回所有数据,这些数据可以轻松地放在客户端。

您不需要发出多个调用,只需要以不同的格式设置请求和响应

例如,使用json

  $.ajax( {
    url: url,
    dataType: 'json',
    data: data,
    success: function( response ) {
       $("#one").html( response.one );
       $("#two").html( response.two );
    }
   } );
您可以使用这样的函数。我通过ajax为加载模块编写了它。你可以这样设置你的模块

<div class="module" modulePage="MODULETEST.PHP"></div>
它将加载所有模块

顺便说一句,不要忘记ajax上的async:true语句。如果没有,当您同时加载3个或更多模块时,您的页面将冻结。 通常,async:true语句是默认设置的,但如果像我一样在ajaxSetup函数上指定了async:false,则不必忘记它


祝你好运

那么您别无选择,只能发出几个负载。我看不出使用一个数据数组更新HTML的几个不同部分有任何逻辑。modulePage无效。我认为你可以使用自己的属性,或者尝试有效的属性。雷尔什么的。
<div class="module" modulePage="MODULETEST.PHP"></div>
$(document).ready(function() {...});