从ajax调用控制器方法(ASP MVC3)方法不起作用

时间:2013-01-03 12:06:36

标签: ajax asp.net-mvc-3

我使用以下语法从ASP页面调用控制器方法。

$.ajax({
             url: 'ControllerName/MethodName',
             type: 'POST',
             contentType: 'application/json;',
             data: JSON.stringify({ param: param1}),
             success: function () {
                 alert("Success!!!");
             },
             error: function () {
                 alert("Failed!!!");
             }
         });

我有两个ASP页面(视图),两个都有相同的控制器。如果我从第一页调用上面的方法,控制器方法被成功调用。但如果从第二页调用相同的方法,我会收到警告消息“失败”。此外,我尝试使用GET类型,尝试使用其他控制器方法和所有。从第二个视图不会调用任何内容。任何人都可以帮我解决什么问题?我是MVC的新手。

2 个答案:

答案 0 :(得分:0)

既然你的ajax期望来自你的Controller方法的JSON数据的结果你有没有返回Json(data,JsonRequestBehavior.AllowGet)?

答案 1 :(得分:0)

尝试将内容类型更改为:

contentType: 'application/json; charset=utf-8'

或/并使用mvc helper指定url,如:

url: @Url.Action("action"),

在我的例子中工作。希望它会有所帮助。