【发布时间】:2017-08-14 09:31:39
【问题描述】:
您好,在 MVC 应用程序中,我在 AccountController.cs 中有以下函数:
public JsonResult IsAvailableUN(string Username)
{
return Json(!Conn.Accounts.Any(Accounts => Accounts.Username == Username), JsonRequestBehavior.AllowGet);
}
Conn 是我的连接,Accounts 是表和模型的名称,Username 是文本框中的字符串和表的列名。
在Accounts 模型中,我在公共字符串Username 上方有以下配置:
[Remote("IsAvailableUN", "Account", ErrorMessage = "This username is already taken!")]
在我看来,我已经包含了所需的 jquery.validate.min.js 和 jquery.validate.unobtrusive.min.js
这应该会触发我的Username 文本框,通过输入现有用户名并点击tab 后缀来给出错误,但是,浏览器的控制台会返回:
Uncaught SyntaxError: Unexpected token u in JSON at position 0
at Function.parse [as parseJSON] (<anonymous>)
at HTMLFormElement.l (jquery.validate.unobtrusive.min.js:5)
at Object.e [as errorPlacement] (jquery-3.1.1.min.js:2)
at c.validator.showLabel (jquery.validate.min.js:36)
at c.validator.defaultShowErrors (jquery.validate.min.js:34)
at c.validator.showErrors (jquery.validate.min.js:28)
at Object.success (jquery.validate.min.js:46)
at i (jquery-3.1.1.min.js:2)
at Object.fireWith [as resolveWith] (jquery-3.1.1.min.js:2)
at A (jquery-3.1.1.min.js:4)
我返回的 json 只包含 1 个单词:undefined
我错过了什么吗?
【问题讨论】:
-
你能发布你收到的json吗?因为如果浏览器没有撒谎,你没有收到 json 回复,浏览器几乎不会撒谎
-
我收到的只是
undefined这个词 -
你可以试试
public JsonResult IsAvailableUN(string Username){return new JsonResult { Data = !Conn.Accounts.Any(Accounts => Accounts.Username == Username), JsonRequestBehavior = JsonRequestBehavior.AllowGet};}
标签: jquery asp.net-mvc validation jsonresult