Web Api插入在Postman中有效,但不能从代码中获得

时间:2018-07-09 12:49:17

标签: angularjs asp.net-web-api insert postman angularjs-http

以下简单的插入记录方法可在Postman中使用,但无法在AngularJS控制器中使用。

Postman Headers (Post)  
Key ContactID  Value 0  
Key FName      Value John  
Key LName      Value Smith  
Key Cache-Control Value no-cache  
Key Content-Type  Value application/x-www-form-urlencoded
$scope.insert = function () {

 var obj = { "ContactID": 0, "FName": "John", "LName": "Smith" };

 var url = "http://********************.net/api/create";

 $http({
     method: 'POST',
     url: url,
     headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
     dataType: 'json',
     contentType: 'application/json',
     data: obj
  });
}

1 个答案:

答案 0 :(得分:0)

仅使用AngularJS服务进行URL编码的变量

在AngularJS 1.4及更高版本中,两个服务可以处理POST请求的URL编码数据过程,从而无需使用transformRequest或使用jQuery之类的外部依赖项来处理数据:

  1. $httpParamSerializerJQLike-受jQuery .param()

  2. 启发的序列化器
  3. $httpParamSerializer-Angular本身用于GET请求的序列化程序

用法示例

$http({
  url: 'some/api/endpoint',
  method: 'POST',
  data: $httpParamSerializerJQLike($scope.appForm.data), // Make sure to inject the service you choose to the controller
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded' // Note the appropriate header
  }
}).then(function(response) { /* do something here */ });