入力したレポート番号がSQLデータベースで有効であることを確認するためにjQueryValidateを使用しています。レポート番号が渡されたときにtrue/falseブール値を返すasmxWebサービスを使用してこれを行っています。Webサービスは正常に機能しており、次のいずれかのJSONエンコードされた応答を返します。
<?xml version="1.0" encoding="UTF-8"?>
<boolean xmlns="http://tempuri.org/">true</boolean>
また
<?xml version="1.0" encoding="UTF-8"?>
<boolean xmlns="http://tempuri.org/">false</boolean>
ただし、次のjQueryで呼び出そうとすると、期待どおりのtrue / falseブール値ではなく、[objectObject]が返され続けます。
$(function() {
$("#form1").validate({
rules: {
tbAuto: {
remote: function () {
var r = {
url: "ReportList.asmx/ValidateInReports",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{'ReportNumberSearch': '" + $('#tbAuto').val() + "' }",
dataFilter: function (data) { return (JSON.parse(data)).d; }
}
$("#txtID").val(r);
// return r;
}
}
},
messages: {
tbAuto: { remote: "check" }
}
});
});
戻り行をコメントアウトしてテキストボックスに戻し、何が返されるかを確認しました。rを返すとき; 彼らの中には、それがいつも真実を返しているかのように振る舞っていました。
これは現在私の人生のアプリケーションにはなく、テスト環境で動作させようとしているだけです。これは、上記のjQueryに対応する私のテストコードです。
<form id="form1" runat="server">
<div class="demo">
<div class="ui-widget">
<label for="tbAuto">Report Number: </label>
<asp:TextBox ID="tbAuto" class="tb" runat="server">
</asp:TextBox><br />
<label for="txtID">ID: </label>
<asp:TextBox ID="txtID" CssClass="tbb" runat="server" />
</div>
</div>
</form>
ご意見やご提案をよろしくお願いいたします。