我是MVC新手。我正在使用MVC4。 我遇到了回调问题。如果我在post()之前和之后发出警报,则两个警报都显示但是呼叫不会触发。
[HttpGet]
[Authorize]
public ActionResult Dashboard(int Menu)
{
//some code
return View("Dashboard");
}
<script>
$(document).ready(function () {
$.post("../Client/GetFact", {},
function (data) {
//some code
});
});
</script>
[HttpPost]
[Authorize]
public JsonResult GetFact()
{
//some code to fill object_data
var data = object_data;
return Json(data);
}
只要我在没有参数的情况下离开ActionResult Dashboard就行了。如果我向Dashboard(int Menu)添加一个参数,那么回调GetFact的方法就不起作用了。 我搜索并发现了一个类似的帖子,并按照你们给出的说明进行操作,但仍然无效(看看:如果mvc模型视图控制器有参数,则getJSON无效)。 我不知道我做错了什么。你能帮我吗?感谢的!
答案 0 :(得分:0)
这是一个简写的Ajax函数,相当于:
$.ajax({ type: "POST",
url: url,
data: data,
success: success,// -> call alert here
dataType: dataType});
答案 1 :(得分:0)
我使用$ .get执行类似操作,使用带有@ Url.Action的jquery而不是url。
除了使用FormContext传递给我的Action:
放在@using(Html.BeginForm())
之前@{ ViewContext.FormContext = new FormContext(); }
示例:
$.get('@Url.Action("ActionName", "ControllerName")', { IDName: $('#IdName').val() }, function (data) {
//Do Something here with the data
});
我会想象表格帖子是
$.post('@Url.Ation("ActionName", "ControllerName")', function (data) {
//Do Something here with the data
});