jQuery からの ajax 呼び出しの応答本文を処理しようとしていますが、これまでのところ成功していません。
ここに私のjQueryコードがあります:
function doAjaxClosedStatus(url, requestId, closedStatusId) {
$.ajax({
type: "POST",
url : url+requestId,
data : ({
'closedStatusId' : closedStatusId
})
}).success(function(msg) {
alert(msg);
if (msg == "fail") {
alert("test");
$(document).append($('<div class="alert alert-error affix" data-offset-top="200">You can\'t specify a closed status if status is not set as "closed"</div>'));
$('option:selected', '.closedStatus ').removeAttr('selected');
$('.closedStatus option:first-child').prop('selected', 'selected');
}
});
}
したがって、呼び出しとサーバー側の処理全体が魅力的に機能し、すべてが正しく行われたか失敗したかによって、それぞれ「完了」または「失敗」のいずれかで応答します (ご想像のとおりです)。ここで、応答がfailのときにクライアント側の処理を実行したいのですが、alert(msg)
トリガーされません...何が間違っていますか?
編集:私はSpring MVCをバックエンドとして使用していて、単に「失敗」を@ResponseBody
. ネットワーク フローを確認すると、応答本文は「失敗」または「完了」です。
EDIT2:私は試しました:
$.ajax({
type: "POST",
url : url+requestId,
data : ({
'closedStatusId' : closedStatusId
}),
success:function(msg) {
alert(msg);
if (msg == "fail") {
alert("test");
$(document).append($('<div class="alert alert-error affix" data-offset-top="200">You can\'t specify a closed status if status is not set as "closed"</div>'));
$('option:selected', '.closedStatus ').removeAttr('selected');
$('.closedStatus option:first-child').prop('selected', 'selected');
}
}
});
まだ成功していません...
EDIT3:だから私はこれをもう一度試しました:
function doAjaxClosedStatus(url, requestId, closedStatusId) {
$.ajax({
type: "POST",
url : url+requestId,
data : ({
'closedStatusId' : closedStatusId
}),
success:function(msg) {
alert(msg);
if (msg == "fail") {
alert("test");
$(document).append($('<div class="alert alert-error affix" data-offset-top="200">You can\'t specify a closed status if status is not set as "closed"</div>'));
$('option:selected', '.closedStatus ').removeAttr('selected');
$('.closedStatus option:first-child').prop('selected', 'selected');
}
}
});
}
そして、何らかの理由で、それは現在機能しています。おそらく、ブラウザのキャッシュが空になっておらず、古いバージョンのスクリプトを使用していたことが原因でした。とにかく、これで正しく動作するようになりました。私のDOM操作を除いて、これは質問自体に属していないので、件名は閉じられました! みんな、ありがとう!