私は 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 が関連していなくても、同じ署名を持つ 2 つのメソッドを追加できないため、追加しました。
これはこれを行う正しい方法ではないかもしれないと思います。この種のコードに最適なアプローチを説明してください。
アップデート:
POST と GET を使用せずに単一のメソッドを追加しても機能しません。ページに文字列「chamara」を出力するだけです。アラートが発生しません
public ActionResult FirstAjax()
{
return Json("chamara", JsonRequestBehavior.AllowGet);
}