यह निश्चित रूप से किया जा सकता है। आप प्रलेखन में Asynchronous programming with HTTP को देखना चाहते हैं, यह बताता है कि इसे गैर-अवरुद्ध तरीके से कैसे किया जाए। हालांकि आपको पुनर्निर्देशित भाग के लिए जावास्क्रिप्ट की थोड़ी सी आवश्यकता होगी।
और मुझे नहीं पता कि "सिस्टम कमांड" के साथ आपका क्या मतलब है लेकिन आप शायद इसके लिए create a job चाहते हैं, ताकि आप इसे अनुरोध के साथ ट्रिगर कर सकें। इसके बाद आप poll it कर सकते हैं जब तक कि यह समाप्त नहीं हो जाता है और फिर उपयोगकर्ता को रीडायरेक्ट कर देता है। लेकिन वास्तव में दस्तावेज इसे समझाने में असीम रूप से बेहतर काम करता है तो मैं अब कर रहा हूं।
यहां एक नियंत्रक कार्रवाई का एक उदाहरण दिया गया है जहां मुझे लगता है कि आपका सिस्टम कमांड उपयोगकर्ता के लिए किसी प्रकार का स्ट्रिंग आउटपुट देता है। जब नौकरी पूरी हो जाती है तो यह उपयोगकर्ता को प्रतिक्रिया भेजी जाएगी, इस प्रकार जावास्क्रिप्ट उदाहरण में सफलता हैंडलर को ट्रिगर कर देगा।
public static void executeSystemCommand(String input) {
Promise<String> outputPromise = new SystemCommandJob(input).now();
String output = await(outputPromise);
renderText(output);
}
मूल रूप से आप उपयोग कर रहे हैं jQuery के $.ajax
आप डेटा मतदान पर पूरा घटना का उपयोग कर सकते है (बस अनुरोध फिर अगर यह समय समाप्ति समय के भीतर सफल नहीं हुआ करते हैं) और सफलता का उपयोग/उपयोगकर्ता को रीडायरेक्ट करने के लिए किया गया जब एप्लिकेशन यह इंगित करता है कि "सिस्टम कमांड" चल रहा है। एक समारोह के
उदाहरण आप इस्तेमाल कर सकते हैं:
function poll(){
$.ajax({
url: "/systemcommand",
success: function(data){
// redirect to next page here
document.location.href = '/output'
},
complete: poll,
timeout: 20000
});
};
StackOverflow पर जावास्क्रिप्ट में भी a great example on long polling नहीं है।