我正在使用以下代码:
$http({
method: 'GET',
url: '/Admin/GetTestAccounts',
data: { applicationId: 3 }
}).success(function (result) {
$scope.testAccounts = result;
});
该代码将以下内容发送到我的服务器:
http://127.0.0.1:81/Admin/GetTestAccounts
当我的 MVC 控制器收到此消息时:
[HttpGet]
public virtual ActionResult GetTestAccounts(int applicationId)
{
var testAccounts =
(
from testAccount in this._testAccountService.GetTestAccounts(applicationId)
select new
{
Id = testAccount.TestAccountId,
Name = testAccount.Name
}
).ToList();
return Json(testAccounts, JsonRequestBehavior.AllowGet);
}
它抱怨没有applicationId。
参数字典包含方法的不可空类型“System.Int32”的参数“applicationId”的空条目
有人可以解释为什么 applicationId 没有作为参数发送吗?以前我使用以下非 Angular 代码执行此操作,并且效果很好:
$.ajax({
url: '/Admin/GetTestAccounts',
data: { applicationId: 3 },
type: 'GET',
success: function (data) {
eViewModel.testAccounts(data);
}
});