以下のスニペットの ajax 呼び出しから isValid 値を戻すために、この値を取得できないようです。
function isShortUrlAvailable(sender, args) {
var isValid = false;
$.ajax({
type: "POST",
url: "/App_Services/ShortUrlService.asmx/IsUrlAvailable",
data: "{url: '" + args.Value + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
isValid = response.d;
},
error: function (msg) {
isValid = false;
}
});
args.IsValid = isValid;
}
私が見落としているクロージャーを扱うのは簡単なことだと確信しています。誰でも助けてもらえますか?
そのasp.netカスタムバリデータ用です。
これが起こっていることです:
- isValid は最初の行で false に設定されています
- .ajax() リクエストが正しく起動し、有効な場合は true
- isValid が true (response.d) に正しく設定されている
- 最後の行に戻ると、 isValid が再び false であると見なされます