jqueryでajaxを使用しサーバーとのやり取りで、errorのときに、通信エラー・処理エラーどちらのエラーかを識別し、もし通信エラーとなれば、「通信エラーです」と表示させたいのですが、通信エラーと処理エラーの違いが分からないこともあって実装することができません。
分かる方教えていただきたいです。
var update = function(data) { var data = inputFieldUtil.getData(); data['costs'] = tripCostTable.getData(); $.ajax({ type: "PUT", url: $('#api_trips').val(), data: { 'data' : data }, dataType: 'json', success: function(result){ overlay.close(); messageUtil.clearInputError(); location.href = $('#ctrl_trip').val() + "/detail/" + result.data.trip.id; }, error: function(xhr, status, error){ messageUtil.displayInputError(xhr, status, error); } }); };
試したこと↓
とりあえずコンソールに色々出してみた。
でもどれが通信エラーのものでどれが処理エラーかなどもよく分かっていないです
ブラウザで回線切ってエラーを出してみました。
・XMLHttpRequest.status: 0
・textStatus: undefined
・errorThrown.message: error
がこれだけだとなんの事かわかりませんでした。
error: function(XMLHttpRequest, textStatus, errorThrown) { console.warn(XMLHttpRequest.responseText); console.warn(XMLHttpRequest.status); console.warn(textStatus); console.warn(errorThrown.message); },
回答1件
あなたの回答
tips
プレビュー