0

我正在使用 jQuery Validate 来确保输入的报告编号在 SQL 数据库中有效。我正在使用 asmx Web 服务执行此操作,该服务在传递报告编号时返回真/假布尔值。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 布尔值。

$(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>

提前感谢您的任何想法或建议。

4

1 回答 1

-1

我最终使用模糊而不是验证走了一条完全不同的路线。我也遇到了麻烦,但最终能够解决。可以在此处找到带有该分辨率的帖子。

于 2012-07-03T22:36:05.433 回答