게시 요청을 위해 angularJS + asp.net을 사용하고 있지만 Request.Form은 항상 비어 있습니다. 여기에 내 코드asp.net post 요청 양식 비어 있습니다
Index.cshtml
<div ng-app="phone" ng-controller="phoneCtrl">
<input type="text" ng-model="phoneNumber">
<button ng-click="sendSMS()"> Submit </button>
<br>
{{response}}
{{error}}
</div>
@section scripts {
<script>
var app = angular.module('phone', []);
app.controller('phoneCtrl', function ($scope, $http) {
$scope.sendSMS = function() {
var params = {
phone : $scope.phoneNumber
};
var config = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
}
};
$http.post('Home/sendSMS',params , config)
.then(function (response, status, headers, config) {
$scope.response = response.data;
})
.catch(function (data, status, headers, config) {
$scope.error = data;
});
};
});
</script>
}
HomeController.cs가
[HttpPost]
public IActionResult SendSMS()
{
System.Diagnostics.Debug.WriteLine("The form has " + Request.Form);
return Content("Received");
}
으로 Request.Form은 항상 비어하지만 POST 요청의 요청 본문에 전화 항목을 볼 수 있습니다 그래서 내가 데이터를 잘못 추출하고 있는지 궁금하네요.
게시자 나 다른 사람과 소식을 보았습니까? 또한 귀하의 컨트롤러에서'SendSMS (문자열 폰)'과'SendSMS ([FromBody] 문자열 전화)'를 시도하고 전화 번호가 –
인지 확인하십시오. @NevilleNazerane이 SendSMS에서 매개 변수를 추가하려고 시도하면이 오류가 "UNSUPPORTED MEDIA TYPE - 요청의 엔티티가 요청 된 메소드에 대해 요청 된 자원에서 지원되지 않는 형식이기 때문에 서버가 요청 서비스를 거부합니다. " – demalegabi
네가'FormBody '를 추가했다면 예상했던 형식으로 보내지 않는 한 그 오류를 얻을 것이다 (json). 어떤 경우에 우리는 그것이 전송되는 형식이 아님을 알고 있습니다. –