2013-01-03 141 views
0

我使用以下语法从ASP页调用控制器方法。从ajax调用控制器方法(ASP MVC3)方法不起作用

$.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的新手。

+0

失败请求中返回的HTTP代码是什么? –

+0

把这个错误:函数(jqXHR,异常)上的错误函数和打印jqXHR – jose

+0

我认为你的控制器不发送json数据。如果它以'return View();返回为''返回Json(true);' –

回答

0

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

0

尝试改变内容类型:

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

作品在我的例子:使用MVC帮手像

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

和/或指定的网址。希望它会有所帮助。