[英]Angular post and web api C#
我嘗試使用 AngularJS 和 C# 控制器使用 Web Api 制作聯系頁面。
上周我一直在研究它,但沒有找到適合我的正確答案。
我也嘗試通過 AJAX、JQUERY 和 angular 發布。
控制器代碼:
[HttpPost, AllowAnonymous]
[Route("ContactUs")]
public void Post(ContactUsProperties EmailDetails)
{
//Code for sending email to the website owner...
}
角JS代碼:
app.controller("ContactController", function ($scope, $http) {
$scope.EmailDetails = {
Phone: null,
Email: null,
Name: null,
Subject: null,
Body: null
};
$scope.EmailDetailsArr = [
$scope.Phone,
$scope.Email,
$scope.Name,
$scope.Subject,
$scope.Body
];
$scope.EmailDetails = {
Phone: $scope.Phone,
Email: $scope.Email,
Name: $scope.Name,
Subject: $scope.Subject,
Body: $scope.Body
};
$scope.CreateEmail = function () {
console.log($scope.EmailDetails);
console.log(JSON.stringify($scope.EmailDetails));
$http({
method: 'POST',
url: '/ContactUs',
data: JSON.stringify($scope.EmailDetail)
});
}
路由正在工作,我知道這會導致調試器在我每次單擊“發送”按鈕時都會阻止我。 我嘗試將其作為數組、JSON、XML、Everything 和對象仍然為空!,我嘗試使用 [FROMBODY] 仍然沒有。
老實說,如果 POST 需要更改 Web Api 配置,所以我沒有更改..
請伙計們幫我解決這個問題,解釋將愉快地接受。 謝謝 :)
您應該使用[FromBody]
以獲得Parameter Binding 。
當參數具有 [FromBody] 時,Web API 使用 Content-Type 標頭來選擇格式化程序。
在此示例中,內容類型為application/json
。
public void Post([FromBody] ContactUsProperties EmailDetails)
$http({
method: 'POST',
url: '/ContactUs',
data: JSON.stringify($scope.EmailDetail) <-- you are missing an 's' at the end
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.