【发布时间】:2017-08-19 01:27:20
【问题描述】:
在前端,我使用 Angular 从表单中收集 som 数据并将其发送到我的服务器端控制器。如下图所示,我在控制器和服务上获取数据 ($scope.newData),但是当它到达服务器时,我收到以下错误:“不支持的媒体类型”并且我的 newData 为空。
我的控制器:
// Create new salesman
$scope.addSalesman = function (newData) {
console.log("Controller");
console.log($scope.newData);
myService.addNewSalesman($scope.newData).then(function (data) {
console.log(data);
}, function (err) {
console.log(err);
});
};
我的服务:
addNewSalesman: function (newData) {
console.log("service");
console.log(newData)
var deferred = $q.defer();
$http({
method: 'POST',
url: '/api/Salesman',
headers: { 'Content-type': 'application/json' }
}, newData).then(function (res) {
deferred.resolve(res.data);
}, function (res) {
deferred.reject(res);
});
return deferred.promise;
}
我的推销员模型:
public class Salesman
{
public int SalesmanID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public string BirthDate { get; set; }
public int Phone { get; set; }
public string Adress { get; set; }
public string City { get; set; }
public int Postal { get; set; }
public string Role { get; set; }
}
我的服务器端控制器:
[Route("api/[controller]")]
public class SalesmanController : Controller
{
private readonly DataAccess _DataAccess;
public SalesmanController()
{
_DataAccess = new DataAccess();
}
[HttpPost]
public IActionResult PostSalesman([FromBody] Salesman newData)
{
return Ok(newData);
}
【问题讨论】:
-
您能看到您的 Angular 服务发送了正确的标头并发送了 JSON 有效负载吗?
-
如果您检查元素并在网络下检查。这是我能看到的地方。
-
我要求您向我们展示请求有效负载 + 标头 :)
-
imgur.com/a/H0hGE 不确定你是否想看我的服务,但在这里。我对帖子没有问题,但是当我不得不删除时,必须添加标题。
标签: c# angularjs json asp.net-web-api asp.net-core