我有一个表单,我想检查用户名是否可用。我有html文本框,在Onclcik我正在调用java脚本函数。该脚本必须在控制器中调用Action方法。根据用户名的可用性,它必须返回1或0.我已经尝试过Json。但它显示“Microsoft JScript运行时错误:'$'未定义”。任何人都可以帮助我。
答案 0 :(得分:2)
如果您使用的是Jquery($符号),那么这意味着您需要在调用JSON的javascript代码之前引用jquery实现的脚本。
script type="text/javascript" src="jquery.js"></script>
其中jquery.js是jquery javascript文件的最新版本
答案 1 :(得分:2)
如果您收到该消息,则表示您正在尝试使用jQuery,但您尚未包含该库。您可以使用Google's CDN。 我猜你用过Ajax来打电话。像这样:
$.ajax({
type: 'POST',
url: '<%=Url.Action("Your Action", "Your Controller")%>',
data: { userName: $('#UserName').val(), password: $('#Password').val() },
dataType: 'json',
complete: function(XMLHttpRequest, textStatus) {
// User your JSON response.
}
});
如果您使用的是POST,则必须使用属性[HttpPost]
修饰您的操作
并且记得在返回JSON对象时指定JsonRequestBehavior.DenyGet
:
[HttpPost]
public JsonResult CheckUserName(string userName, string password)
{
// notification: your object
return (Json(notification, JsonRequestBehavior.DenyGet));
}