【发布时间】:2018-03-29 05:47:15
【问题描述】:
我尝试使用 AngularJS 和使用 Web Api 的 C# 控制器制作联系页面。
上周我一直在努力,但没有找到适合我的正确答案。
我也尝试过通过 AJAX、JQUERY 和 angular 发布。
控制器代码:
[HttpPost, AllowAnonymous]
[Route("ContactUs")]
public void Post(ContactUsProperties EmailDetails)
{
//Code for sending email to the website owner...
}
Angular 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 配置,所以我没有更改..
请大家帮我解决这个问题,解释将欣然接受。 谢谢:)
【问题讨论】:
-
试试这个 => url : '/ContactUs/Post'
-
您能告诉我们您希望您的代码做什么吗?
-
不需要对数据进行字符串化。 $http service 会自动执行此操作。
-
imgprasad --> 路由是 /ContactUs .. 它的工作原理是在 Visual Studio 调试器中停止运行.. Hintham --> 我尝试将带有联系人详细信息的对象发送到控制器(正文,主题和私人详细信息,通过电话或电子邮件回复他,然后姓名)
-
georgeawg --> 不知道 谢谢!
标签: javascript c# jquery angularjs asp.net-web-api