【问题标题】:Angular post and web api C#Angular 帖子和 Web api C#
【发布时间】: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


【解决方案1】:

您应该使用[FromBody] 以获得Parameter Binding

当参数有 [FromBody] 时,Web API 使用 Content-Type 标头 选择格式化程序。

在本例中,内容类型为application/json

public void Post([FromBody] ContactUsProperties EmailDetails)

【讨论】:

  • 我读过它和它关于获取简单参数的说法,我想传输其中包含少量字符串而不是 1 个字符串的对象。不管我读过什么,我都试过了,但它没有用......
【解决方案2】:
$http({
    method: 'POST',
    url: '/ContactUs',
    data: JSON.stringify($scope.EmailDetail) <-- you are missing an 's' at the end
});

【讨论】:

  • 对象仍为空
猜你喜欢
  • 1970-01-01
  • 2013-01-24
  • 2020-03-28
  • 2022-12-21
  • 2013-12-03
  • 2020-04-11
  • 2018-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多