我们希望将Jquery Progress bar与PHP集成。我们已经实现了$ _SESSION,但根据我们的要求,我们没有得到确切的值。
请查看我们的代码。
HTML
<!DOCTYPE html>
<html>
<head>
<title>Jump for Joy</title>
<link href="styles/my_style.css" rel="stylesheet">
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<style type="text/css">
#bardivs {
width:400px;
position:relative;
}
#progresstext {
position:absolute;
top:0;
left:0;
}
</style>
<script>
$(document).ready(function() {
$("#sub").click( function() {
$.ajax({
type : 'POST',
url : 'http://localhost/tools/ip/html/demo.php',
dataType : 'html',
data: {
camp_url : $('#camp_url').val(),
captcha : $('#captcha').val()
},
success : function(data){
$('#message').removeClass().addClass(data).html(data).show(500);
$("#progressbar").delay(100).hide(200);}
});
var url = "http://localhost/tools/ip/html/xyz.php";
$(function() {
$("#progressbar").progressbar({ value: 0 });
setTimeout(function(){ updateProgress(0); }, 1000);
});
function updateProgress(data) {
$.get(url+'?progress='+data, function(data) {
// data contains whatever that page returns
if (data < 100) {
$("#progressbar").progressbar({value: parseInt(data)});
setTimeout(function(){ updateProgress(data); }, 1000);
} else {
$("#progressbar").progressbar({value: 100});
$("#progressbar").delay(100).hide(200);
}
});
}
});
});
</script>
</head>
<body>
<div id="header">
<h2>Jump for Joy Sale</h2>
</div>
<div id="main">
<div id="bardivs">
<div id="progressbar"></div>
<div id="progresstext"></div>
</div>
<div id="message" style="display: none;">
</div>
<input type="submit" name="check" id="sub" value="submit">
</div>
</body>
</html>
demo.php
<?php
session_start();
$set = $_SESSION['size'] ;
$array = array(100,200,300,400,500,600,700,800,900,1000);
$ab = 1 ;
@$size=sizeof($array);
$size = round(100/$size);
foreach($array as $a){
echo $a ;
sleep(1);
$_SESSION['size'] = $set + $size ;
}
?>
xyz.php
<?php
session_start();
if(@$_SESSION['size'] <=100) {
header("Refresh: 1; url=xyz.php");
}
@$_SESSION['size'];
$set = (int)@$_GET['progress'] + @$_SESSION['size'];
echo (int)$set ;
?>
我们在进度条处理后获取数据,但没有获得进度条。
谢谢
PPS
答案 0 :(得分:1)
这正是您使用的代码吗?如果是这样,请为sleep(1)
切换sleep(1000)
,这可能只是在指标发出请求时,demo.php实际上已完成。