1

コード:

function importData(pageForm, menuNavigationId, pageId) 
{
showMessageHtml('messageDiv', "Importing data ........");
var url = getURLString(pageForm);
var urlstr = "importTemplate.do?userAction=importData&"
        + url.substring(0, url.length - 1);
ajaxFunction();
xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            document.getElementById('messageDiv').style.display = 'none';
            if (xmlHttp.responseText == "success") {
                alert("Data file read and saved successfully.");
            } else {
                alert("Error while Importing data: " + xmlHttp.responseText);
            }
            returnToPageUrl("page?pageId=" + pageId
                    + "&opType=entry&modType=add&menuNavigationId="
                    + menuNavigationId + "&menuPageId=" + pageId);
        }
    }
}
xmlHttp.open("POST", urlstr, true);
xmlHttp.setRequestHeader("Content-Type", "application/plain");
xmlHttp.send(null);
}

「データのインポート.......」の代わりに、ページ番号を表示する文字列を渡したい.... ajaxをもう一度呼び出してページのステータスを取得する方法を教えてください。この文字列をサービス層関数から渡しています........すぐに返信する必要があります

4

1 に答える 1

0

setTimeout(メソッド、頻度); を使用します。

method は Ajax 呼び出しであり、frequency は ajax メソッドを再度呼び出す期間です。

コメントに従って編集:

ajax 呼び出しがサーブレットを呼び出し、サーブレットで応答の出力ストリームを取得し、データを書き込むとします。

httpServletResponse.getOutputStream(10);

次に、JavaScriptで次のようにアクセスできます。

xmlHttp.responseText 

これをページに表示するだけです。

于 2012-05-18T11:53:07.487 に答える