背景
在我的页面上有一个上传文件的选项,这会打开一个iframe,其中包含用于上传文件的表单。如果用户决定取消上传,我想确保删除任何上传的文件。所以我对一个jsp进行ajax调用,该jsp运行一个函数来删除任何上传的临时文件。进行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()这样的东西似乎不起作用,但这就是我想要的。
答案 0 :(得分:0)
function cancelAndDelete()
{
$.ajax({url:"removeTempFiles.jsp", data: {id: fileId}, async: true}, complete: window.location.replace("http://URL HERE.com"));
$("#iframe").remove();
}
那是你想要做的吗?