我正在使用jQuery Validate来确保输入的报告编号在SQL数据库中有效。我正在使用asmx Web服务执行此操作,该服务在传递报告编号时返回true / false布尔值。 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中调用它时,它会一直返回[object Object]而不是像我期望的那样返回true / false boolean。
$(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>
提前感谢任何想法或建议。