0

背景:

在我的页面上有一个上传文件的选项,这会打开一个 iframe,其中包含用于上传文件的表单。如果用户决定取消上传,我想确保所有上传的文件都被删除。因此,我对运行一个函数以删除已上传的任何临时文件的 jsp 进行 ajax 调用。在进行 ajax 调用后,我从屏幕上删除了 iframe,以便用户可以继续他们的工作。删除文件的 jsp 不返回任何内容,我不需要让用户知道临时文件已被删除。

我发现这在 IE 中运行良好,但在 chrome 和 safari 中向用户显示错误,调试一段时间后我发现错误的原因是 ajax 调用在 iframe 被删除并且 chrome 和 safari 后返回'不喜欢将 ajax 调用返回到已删除的 iframe。所以一种解决方案是使 ajax 调用同步。另一种解决方案是让 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 回答