我正在处理页面http://musicbrainz.org/release/72cf3c87-d97d-49cc-8781-661ad3580091/cover-art-uploader?id=17477511090。这通常是iframe的来源,但我在iframe之外的脚本中使用它。我一直在使用javascript测试在该页面上提交表单,但我不想在提交后重定向。如何防止收到错误时提交()的重定向?
这是我一直在从控制台运行JS:
jQuery(document.forms[0]).submit(function (e) {
e.preventDefault();
alert('foo');
return false;
})[0].submit();
从我知道的一切,它应该提交,则事件处理程序踢停止重定向。但是,当服务器提供200状态以外的其他内容时,例如500内部服务器错误,我仍会得到重定向。
因此1)如何检测错误及其状态码 和2)即使结果为错误,我如何防止重定向?
afaik表单的提交动作通过重定向发生;防止默认/返回假停止提交(通过停止重定向)。要在浏览器不显示新页面的情况下发出http请求,您需要一个ajax解决方案。请参阅[jQuery .ajax](http://api.jquery.com/ajax/)。 – nbrooks 2012-08-15 05:59:27
这不会起作用,因为它会触发跨域限制。 – BrianFreud 2012-08-15 06:05:55
在搜索表单中?它似乎在同一个域上。请参阅示例我包含 – nbrooks 2012-08-15 06:21:02