我正在使用 MVC 2 并尝试对控制器方法进行 ajax 调用。
控制器:
[HttpGet]
public ActionResult FirstAjax()
{
return View();
}
[HttpPost]
public ActionResult FirstAjax(string a)
{
return Json("chamara", JsonRequestBehavior.AllowGet);
}
看法:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var serviceURL = '<%= Url.Action("FirstAjax", "AjaxTest") %>';
$.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>
在上面的代码中,请注意我的控制器。为了使代码正常工作,我必须使用HTTPPOST和HTTPGET添加到方法中,甚至参数 a 也不相关,我只是添加了它,因为我无法添加具有相同签名的两个方法。
我想这可能不是正确的方法。请解释最适合这种代码的方法。
更新:
添加一个没有 POST 和 GET 的方法不起作用。它只是在页面上打印字符串“chamara”。警报没有触发
public ActionResult FirstAjax()
{
return Json("chamara", JsonRequestBehavior.AllowGet);
}