使用Remote的JQuery验证将空数据发布到webservice

Cli*_*ead 2 validation jquery plugins json

我正在使用JQuery Validation插件.我正在使用远程选项拨打我的网络服务来检查公司名称是否存在.Web服务仅接受JSON数据.

我将数据从我的表单中的公司输入字段传递到Web服务,如下所示:

数据:"{'company':'"+ $('#Company').val()+"'}"

但这总是为公司返回一个空白值,因此响应为{'company':''}即正确的JSON但缺少公司输入字段值.

任何人都可以解释为什么我总是在这里得到一个空白值?

谢谢你的帮助,Ciaran

Cod*_*eti 5

原因是

data: "{'company': '" + $('#Company').val() + "'}"

在进行远程调用时页面加载时评估.

尝试以这种方式声明规则:


remote: function() {  
    var r = {  
        url: "webservice.asmx",  
        type: "POST",  
        contentType: "application/json; charset=utf-8",  
        dataType: "json",  
        data: "{'company': '" + $('#Company').val() + "'}"  
        dataFilter: function(data) { return (JSON.parse(data)).d; }  
       }   
    return r;  
  }
Run Code Online (Sandbox Code Playgroud)

如果您使用的是ASP.Net Web服务,则需要使用dataFilter,因为响应将位于json对象的"d"属性中.需要JSON库.

"{ d: "true" }"