以下简单的插入记录方法可在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
});
}
答案 0 :(得分:0)
在AngularJS 1.4及更高版本中,两个服务可以处理POST请求的URL编码数据过程,从而无需使用transformRequest
或使用jQuery之类的外部依赖项来处理数据:
$httpParamSerializerJQLike
-受jQuery .param()
$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 */ });