开发者

Real-time Process Progress Logs for the User

开发者 https://www.devze.com 2023-03-29 21:15 出处:网络
Well, I\'m Trying to Make a Data Importing Module. From the module, the user choose the .txt File with Data and then click the upload button. I want to make a Textarea or textbox (My project is a Java

Well, I'm Trying to Make a Data Importing Module. From the module, the user choose the .txt File with Data and then click the upload button. I want to make a Textarea or textbox (My project is a Java EE WebApp) where the webapp shows the real-progress of the upload proccess with Descriptive Messages. I'm thinking (And i've searched) about Multiple Ajax Requests, and, Multiple Ajax Responses with one Request (The last one is not valid, as i read), but, i'm confused about the usage of AJAX in this case. It is Valid the user hit "Upload", and then, i call an AJAX Request that returns the text with the progress of the actual regi开发者_运维百科stry imported?

I'm thinking to use:

jQuery 1.6.2 GSon (For ajax)

Any suggestion would be appreciated


I would recommend using JBoss RichFaces 'poll' mechanism for that, or just a simple jquery script on the client side:

Ajax Poll Example with RichFaces: http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?demo=poll&skin=blueSky

JQuery (loads of examples on the web):

http://net.tutsplus.com/tutorials/javascript-ajax/creating-a-dynamic-poll-with-jquery-and-php/

jQuery AJAX polling for JSON response, handling based on AJAX result or JSON content


How about using a iframe that handles the upload form? This way it would not require the browser to update (by AJAX calls) the contents of a page that "we're already leaving". The iframe could be styled so that it's indistinguisable from other content.

AJAX-calls to a some method that keeps an eye on to some progress-variable (lets say a double that indicates percentage) is perfectly valid. Below is a barebones pseudo-example.

!PSEUDO!

double progress = 0.0d

void upload(request, response) {
    // updates progress real-time
}

void ajaxProgress(request, response) {
    // set progress to response
}


You may want to consider all the traffic back and forth showing real time processing information of uploaded files.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号