我正在使用jQuery验证插件。要检查用户名是否已存在,我已在我的视图中完成此操作:
$.validator.addMethod('usernameExists', function (value) {
var data = {};
data.username = $('#Username').val();
$.getJSON('/Account/CheckUsername', data, function (result) {
if (result.exists == 'true')
return true;
else
return false;
});
return false;
}, 'Username already exists.');
在我的AccountController中,我有:
public JsonResult CheckUsername(string username)
{
string test = "false";
return Json(test);
}
我在“CheckUsername”中加了一个断点,它永远不会出现,但它来自“getJSON”调用(我已经尝试过了)。有人能告诉我我做错了什么吗?显然,“getJSON”有问题......但是????
答案 0 :(得分:2)
首先,尝试直接从浏览器调用此操作:例如http://localhost:1212/Account/CheckUsername。如果出现错误,你会看到它。我假设您应该使用JsonRequestBehavior.AllowGet使其工作,因为getJSON发送HTTP GET。
return Json(test, JsonRequestBehavior.AllowGet);
答案 1 :(得分:0)
尝试使用,
$.getJSON('@Url.Action("CheckUsername", "Account")', data, function (result) {
当您要部署网站时,使用"/Account/CheckUsername"
会更加困难。
答案 2 :(得分:0)
$(function () {
$.getJSON("your path here", { username: $('#Username').val() }, function (data) {
//logic goes here
});
});