在asp.net MVC中使用Java脚本调用操作方法

时间:2011-06-08 12:01:27

标签: asp.net-mvc json

我有一个表单,我想检查用户名是否可用。我有html文本框,在Onclcik我正在调用java脚本函数。该脚本必须在控制器中调用Action方法。根据用户名的可用性,它必须返回1或0.我已经尝试过Json。但它显示“Microsoft JScript运行时错误:'$'未定义”。任何人都可以帮助我。

2 个答案:

答案 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));
}