के साथ प्रगति पट्टी मैं प्रगति पट्टी पर काम कर रहा हूं जो AJAX अनुरोधों और सत्र चर का उपयोग करके प्रगति अद्यतन करता है। जब मेरा प्रोग्राम समय लेने वाले ऑपरेशन करता है जैसे कई ईमेल भेजना आदि। यह उचित सत्र चर सेट करता है (जिसमें प्रगति मूल्य होता है)। यह ऑपरेशन फ़ंक्शन पोस्ट() द्वारा नीचे कोड में शुरू किया गया है।PHP और अजाक्स
इस बीच, दूसरा फ़ंक्शन पूछता है() प्रत्येक 500ms लूप में किया जाता है। इसे वास्तविक समय में वर्तमान प्रगति वापस करनी चाहिए। और यहां समस्या है: पूछे गए सभी अनुरोध() पोस्ट() फ़ंक्शन द्वारा भेजे गए अनुरोध के लिए प्रतीक्षा कर रहे हैं। मजाकिया हिस्सा यह है कि अगर मैं url/to/प्रगति के बजाय google.com जैसे कुछ यूआरएल सेट करता हूं तो यह ठीक काम करता है सिवाय इसके कि यह वही नहीं है जो मैं चाहता हूं :)। जिसका मतलब है कि सर्वर सर्वर पर समस्या है।
यह सुनिश्चित नहीं है कि यह महत्वपूर्ण है लेकिन मैं वाईआई फ्रेमवर्क का उपयोग करता हूं।
नीचे दिया गया सभी कोड केवल स्क्रैच (लेकिन काम कर रहा है) और इसका एकमात्र उद्देश्य यह है कि मेरा मतलब क्या है।
अग्रिम धन्यवाद।
मेरी गरीब अंग्रेज़ी :)
देखें भाग के लिए खेद है:
<script type="text/javascript">
function ask() {
var d = new Date();
var time = d.getTime();
$.ajax({
type: 'get',
url: '/url/to/progress' + '?time=' + time,
success: function(data) {
$("#progress").html(data);
}
})
}
function post() {
var d = new Date();
var time = d.getTime();
$.ajax({
type: 'post',
url: '/url/to/post' + '?time=' + time,
data: {"some": "data"},
success: function(data) {alert(data)}
});
}
$("#test").click(
function() {
post();
var progress = setInterval("ask();", 500);
}
);
</script>
नियंत्रक हिस्सा:
public function actionPost($time) {
sleep(5); // time consuming operation
echo $time . ' : ' . microtime();
exit;
}
public function actionProgress($time) {
echo $time . ' : ' . microtime();
exit;
}
सर्वर से आपकी प्रतिक्रिया क्या है? देव उपकरण> नेटवर्क> xhr अनुरोध –