問題ではなく情報的な問題が解決する必要があります。他の場所で満足な答えが見つかりませんでしたJQuery ajaxコールは無効なJSONを受け取りますが、エラーハンドラは呼び出されません
私はJQuery/JSを使い慣れていません。レールバックエンドへのAJAX呼び出しのエラーハンドラをテストしようとしています。私はハンドラーに火をつけて時間を割いた。
- バックエンドに500とスタックトレースを返すようにしましたが、ハンドラは起動しませんでした。コンソールに
VM26658:1 Uncaught SyntaxError: Unexpected token S in JSON at position 0
と表示されます。 - 私は、JSONレスポンスと400個のステータス
これは、Ajaxエラーハンドラはレスポンスボディを解析できないときに起動しないようです。あれは正しいですか?もしそうなら、それはハンドラロジックのかなり実質的で直観的な制限のように思えます。そうでなければ、私はどうやって愚かなのですか?
ありがとうございます! HAMLでコード
と
更新:CoffeeScriptので
= simple_form_for @object, method: :put, url: setup_object_path, remote: true |f|
= f.input :some_input
= f.submit, class: 'js-submit'
:
$(document).on 'ajaxStart', startFunction
$(document).on 'ajaxError', errorFunction
$(document).on 'ajaxComplete', completeFunction
結果: startFunction
すべての3例について火災、しかしerrorFunction
とcompleteFunction
のみ火災のためのケース#3
で直接js-submit
にバインドしようとしましたが、同じ結果が出ました。
パースエラーがAJAXエラーハンドラをトリガする助けに感謝して申し訳ありません。関連コードを表示してください。これはまた、リクエストが 'jsonp'ではないと仮定しています – charlietfl
は、コード例で更新されました。 – toppy42
hamlの参照は私に何の意味もないことを恐れています。リクエストはすべて、そこに存在するものだけを知っているブラウザで作成されます – charlietfl