1
ajaxを使用して検証を行っています。私のMVC3コントローラから呼び出されたメソッドですが、コントローラがtrueまたはfalseを返すかどうかはtrueです。警告が常に表示されます。Ajax操作が常にtrueを返す
ClientChoices/HasJobInProgress
public Boolean HasJobInProgress(int clientId)
{
return false;
//return _proxy.GetJobInProgress(clientId);
}
Jquery.Ajax
$("#saveButton").click(function() {
var hasCurrentJob =
$.ajax({
url: '@Url.Action("HasJobInProgress", "ClientChoices")/',
data: { id: @Model.ClientId },
success: function(data){
return data;
}
});
if (hasCurrentJob) {
alert("The current clients has a job in progress. No changes can be saved until current job completes");
}
});
SOLUTION
$("#saveButton").click(function() {
$.ajax({
url: '@Url.Action("HasJobInProgress", "ClientChoices")/',
data: { id: '@Model.ClientId' },
success: function(data){
showMsg(data);
},
cache: false
});
});
function showMsg(hasCurrentJob) {
if (hasCurrentJob.toString()=="True") {
alert("The current clients has a job in progress. No changes can be saved until current job completes");
}
}
これはまったく動作していないようです。どちらの状態でもアラートは表示されません。 –
@atbyrdスクリプトエラーが表示されますか? showMsg関数内に警告を設定し、呼び出されているかどうかを確認できますか?また、返される値を確認する 'alert(data)'もあります。 –
リビルドして強制的にリロードすると動作します。以前と同じ結果が得られました。 –