我正在處理頁面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