背景:
在我的页面上有一个上传文件的选项,这会打开一个 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() 这样的东西似乎不起作用,但这就是我想要的想法。