0

バックグラウンド:

私のページには、ファイルをアップロードするオプションがあります。これにより、ファイルをアップロードするためのフォームを含む iframe が開きます。ユーザーがアップロードをキャンセルすることにした場合、アップロードされたファイルが削除されるようにしたいと思います。そこで、アップロードされた一時ファイルを削除する関数を実行する jsp に ajax 呼び出しを行います。ajax 呼び出しを行った後、iframe を画面から削除して、ユーザーが作業を続行できるようにします。ファイルを削除する jsp は何も返さないため、一時ファイルが削除されたことをユーザーに知らせる必要はありません。

これは IE では正常に動作することがわかりましたが、chrome と safari ではユーザーにエラーが表示されます。しばらくデバッグした後、エラーの原因は、iframe が削除された後に ajax 呼び出しが返され、chrome と safari がドン削除された iframe に ajax 呼び出しを返すのは好きではありません。したがって、解決策の 1 つは、ajax 呼び出しを同期化することです。もう 1 つの解決策は、削除を管理するスレッドを jsp で生成することです。

質問:

私が疑問に思っているのは、削除されたページとは別のページに戻るように ajax 呼び出しを変更する方法があるかどうかということです。

function cancelAndDelete()
{
    $.ajax({url:"removeTempFiles.jsp", data: {id: fileId}, async: true});
    $("#iframe").remove();
}

$(window.opener).ajax() のようなものは機能していないようですが、それが私が目指しているアイデアです。

4

1 に答える 1

0
function cancelAndDelete()
{
    $.ajax({url:"removeTempFiles.jsp", data: {id: fileId}, async: true}, complete: window.location.replace("http://URL HERE.com"));
    $("#iframe").remove();
}

それがあなたのやりたいことですか?

于 2013-06-06T17:34:36.187 に答える