我有一个使用$ get()函数检索PHP变量的脚本,但我对每个变量都有多个请求。我想这样做,因为我希望调用是个人的,而不是等待加载所有变量。
这是我的简单代码:
的functions.php
$content1 = 'This is a good solution.';
$content2 = 'This is another good solution.';
if(preg_match('[good]', $content1)) {
$result1 = "<p>Great, we found something here.</p>";
}else{
$result1 = "<p>Oops, nooooo.</p>";
}
/////////////////////////////////
if(preg_match('[another]', $content2)) {
$result2 = "<p>Great, we found something here.</p>";
}else{
$result2 = "<p>Oops, nooo.</p>";
}
$action = $_GET['action'];
switch ($action) {
case 'result1':
echo $result1;
break;
case 'result2':
echo $result2;
break;
default:
echo 'Test';
}
GET.PHP
<script type='text/javascript'>
$.get('functions.php?action=result1', function(data) {
$('.result1').html(data);
});
$.get('functions.php?action=result2', function(data) {
$('.result2').html(data);
});
</script>
<div class="result1"></div>
<div class="result2"></div>
<div class="result3"></div>
<div class="result4"></div>
........
那么如何将所有javascript调用“合并”到一个(使用参数,我不知道),因此不需要为每个变量创建一个调用。
<script type='text/javascript'>
$.get('functions.php?action=resultvariable', function(data) {
$('.result_variable...').html(data);
});
</script>
答案 0 :(得分:0)
试试这个:
// PHP:将varibles放入数组
$variables = array('result1'=> $result1, 'result2'=> $result2);
echo json_encode($variables);
// JS:更改ajax调用以获取json对象
$.get('functions.php', function(data) {
$('.result1').html(data.result1);
$('.result2').html(data.result2);
}, 'json');
希望它可以提供帮助。
答案 1 :(得分:0)
function ajaxcall(action, div) {
$.get('functions.php?action='+ action, function(data) {
$(div).html(data);
});
}
您可以拨打电话
ajaxcall('result1','.result1');
ajaxcall('result2','.result2');
ajaxcall('result3','.result3');
......等等。