使用 Remote 的 JQuery 验证将空数据发布到 Web 服务

标签 jquery json validation plugins

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

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

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

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

谁能解释一下为什么我总是在这里得到空白值?

感谢您的帮助, 夏兰

最佳答案

原因是

数据:"{'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;  
  }

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

"{ d: "true"}"

关于使用 Remote 的 JQuery 验证将空数据发布到 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2663043/

相关文章:

json - jq:按属性分组和键

javascript - 正则表达式四位数字验证,一位一位地验证数字

jquery - Fullcalendar jQuery - 可以从谷歌日历检索颜色吗?

javascript - 以连续的方式执行循环中的所有元素?

json - 如何在JQuery中读取json键名

json - ETL - 自动将数据从一个数据库传输到另一个数据库

json - 如何测试 Spring Boot Controller 的错误输出?

java - 输入对话框验证

python - 验证字符串的最简单方法是它需要多少个数字并且都是整数?

javascript - 下面的代码是否递归地使用内存