Php 一个jQuery调用可以加载多个HTML容器吗?
我想知道是否有一种方法允许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
.
<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
输出中加载。如何通过一次呼叫同时加载divtwo?还是只需要发出多个呼叫?将两个都放在一个新的空标签或另一个您选择的带有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() {...});