私は自分のビューからアプリケーションのコントローラに値を送るためにajaxを使用しています。ajaxのエラーがヒットしていません
アヤックス:
<script type="text/javascript">
$('#SendToController').on('click', function() {
sendToController();
return false;
});
function sendToController(){
var selectedM = $('#Month').val();
var chosenY = $('#Year').val();
var chosenC = $('#County').val();
//alert(chosenY);
$.ajax({
url: '/ALog/MReports/Generate',
data: { 'monthV' : selectedM, 'year' : chosenY, 'county' : chosenC },
type: 'GET',
cache: false,
success: function (data) {
$("body").html(data);
$('.dropdown-toggle').dropdown();
},
error: function() {
if (selectedM === "") {
alert("Error 1!");
}
else if (chosenY === "") {
alert("Error 2!");
}
else if (chosenC === "") {
alert("Error 3!");
}
}
});
}
</script>
さて、私は上記のAjaxコード内から値を取得しています3 dropdownlistsを持っている私のフォームに。 ajax関数がerror
部分に行く唯一の時間は、chosenC
および/またはselectedM
が空の場合ですが、chosenY
が空の場合はまだsuccess
になります。
私は私がnull
または空(""
)のいずれか、JavaScriptで正しい値をチェックしていますことを確認するために、空白のままにするときchosenY
の値が..私は両方を試してみました警告、およびどちらも仕事している..
は、私はので、私はそれをチェックしています...それは、空の文字列だと思った..しかし、たとえので、それは問題ではないことから、そうchosenY
を警告してからの結果でありますそれは空です私をアヤックスthodはそれがsuccess
であり、error
ではないと考えています。なぜですか?
何か助けていただければ幸いです。
なぜ空の応答がエラーになるのですか? – epascarello
エラー/成功は、httpステータスコードに基づいています。ヒットしているサービスが2xx OKタイプのレスポンスであれば、それは「成功」になります。 –
@epascarelloそのデータがなければ、結果は空のテーブルになります。そのフィールドが必要です –