我想要开始使用ASP.NET MVC Ajax调用。在asp.net中对控制器进行简单的Ajax调用mvc
控制器:
public class AjaxTestController : Controller
{
//
// GET: /AjaxTest/
public ActionResult Index()
{
return View();
}
public ActionResult FirstAjax()
{
return Json("chamara", JsonRequestBehavior.AllowGet);
}
}
查看:
<head runat="server">
<title>FirstAjax</title>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var serviceURL = '/AjaxTest/FirstAjax';
$.ajax({
type: "POST",
url: serviceURL,
data: param = "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: successFunc,
error: errorFunc
});
function successFunc(data, status) {
alert(data);
}
function errorFunc() {
alert('error');
}
});
</script>
</head>
我只需要与控制器方法返回的数据打印警报。以上代码仅在我的视图中打印“chamara”。警报不会触发。
UPDATE
我修改了控制器的下方,它开始工作。我不清楚为什么它现在正在工作。有人请解释一下。参数“a”不相关的,我增加了,因为我不能添加两种方法具有相同的方法名和parameters.I认为这可能不是解决办法,但它的工作
public class AjaxTestController : Controller
{
//
// GET: /AjaxTest/
[HttpGet]
public ActionResult FirstAjax()
{
return View();
}
[HttpPost]
public ActionResult FirstAjax(string a)
{
return Json("chamara", JsonRequestBehavior.AllowGet);
}
}
返回json格式化的字符串'{“name”:“chamara”}'。然后尝试读为'data ['name']' – Rab 2013-04-24 07:40:29
从视图中删除第二个jQuery库。你的代码应该按原样工作。我认为脚本错误可能正在发生,并阻止警报显示。 – Terence 2013-04-24 08:39:51