asp .net Angularjs ajax httpPost
asp .net Angularjs ajax httpPost
我的ajax电话
var PojedinacniPageController = function ($scope, $http, $routeParams) {
$scope.contactID = $routeParams.covikId;
var odgovor = $http.post('/Home/GetContact', $scope.contactID);
odgovor.success(function (data, status) {
$scope.kontakt = data;
});
odgovor.error(function (data, status) {
alert(status);
});
}
PojedinacniPageController.$inject = ['$scope', '$http', '$routeParams'];
mvc 4,HomeController,GetContact 操作:
[HttpPost]
public ActionResult GetContact(int kontaktID)
{
var kontakt = _db.Kontakti.Find(kontaktID);
return Json(kontakt, JsonRequestBehavior.AllowGet);
}
不工作,错误 500。请帮助
这样试试:
var odgovor = $http.post('/Home/GetContact', { kontaktID: $scope.contactID });
此外,您不需要设置 JsonRequestBehavior.AllowGet
,因为您的控制器操作只能通过 POST 动词访问:
[HttpPost]
public ActionResult GetContact(int kontaktID)
{
var kontakt = _db.Kontakti.Find(kontaktID);
return Json(kontakt);
}
这就是说,这是一个非常奇怪的控制器操作,只有 returns 数据可以通过 POST 动词访问。如果控制器操作不是修改服务器上的任何状态而是返回数据,我宁愿使用 GET 动词。
所以:
public ActionResult GetContact(int kontaktID)
{
var kontakt = _db.Kontakti.Find(kontaktID);
return Json(kontakt, JsonRequestBehavior.AllowGet);
}
然后:
var odgovor = $http.get('/Home/GetContact/' + $scope.contactID);
我的ajax电话
var PojedinacniPageController = function ($scope, $http, $routeParams) {
$scope.contactID = $routeParams.covikId;
var odgovor = $http.post('/Home/GetContact', $scope.contactID);
odgovor.success(function (data, status) {
$scope.kontakt = data;
});
odgovor.error(function (data, status) {
alert(status);
});
}
PojedinacniPageController.$inject = ['$scope', '$http', '$routeParams'];
mvc 4,HomeController,GetContact 操作:
[HttpPost]
public ActionResult GetContact(int kontaktID)
{
var kontakt = _db.Kontakti.Find(kontaktID);
return Json(kontakt, JsonRequestBehavior.AllowGet);
}
不工作,错误 500。请帮助
这样试试:
var odgovor = $http.post('/Home/GetContact', { kontaktID: $scope.contactID });
此外,您不需要设置 JsonRequestBehavior.AllowGet
,因为您的控制器操作只能通过 POST 动词访问:
[HttpPost]
public ActionResult GetContact(int kontaktID)
{
var kontakt = _db.Kontakti.Find(kontaktID);
return Json(kontakt);
}
这就是说,这是一个非常奇怪的控制器操作,只有 returns 数据可以通过 POST 动词访问。如果控制器操作不是修改服务器上的任何状态而是返回数据,我宁愿使用 GET 动词。
所以:
public ActionResult GetContact(int kontaktID)
{
var kontakt = _db.Kontakti.Find(kontaktID);
return Json(kontakt, JsonRequestBehavior.AllowGet);
}
然后:
var odgovor = $http.get('/Home/GetContact/' + $scope.contactID);