2017-12-08 3 views
0

게시 요청을 위해 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 요청의 요청 본문에 전화 항목을 볼 수 있습니다 그래서 내가 데이터를 잘못 추출하고 있는지 궁금하네요.

+0

게시자 나 다른 사람과 소식을 보았습니까? 또한 귀하의 컨트롤러에서'SendSMS (문자열 폰)'과'SendSMS ([FromBody] 문자열 전화)'를 시도하고 전화 번호가 –

+0

인지 확인하십시오. @NevilleNazerane이 SendSMS에서 매개 변수를 추가하려고 시도하면이 오류가 "UNSUPPORTED MEDIA TYPE - 요청의 엔티티가 요청 된 메소드에 대해 요청 된 자원에서 지원되지 않는 형식이기 때문에 서버가 요청 서비스를 거부합니다. " – demalegabi

+0

네가'FormBody '를 추가했다면 예상했던 형식으로 보내지 않는 한 그 오류를 얻을 것이다 (json). 어떤 경우에 우리는 그것이 전송되는 형식이 아님을 알고 있습니다. –

답변

0

Content-Type을 Json으로 변경하려고하십니까?

  var config = { 
       headers: { 
        'Content-Type': 'application/json;' 
       } 
      }; 
+0

'Request.Form'예외가 발생했습니다. 'System.InvalidOperationException'형식의 예외가 발생했습니다. – demalegabi

+0

이것은 [ FromBody]'. 'Request.Form'을 주석 처리하고 js –

+0

@NevilleNazerane을 사용하여'[FromBody]'를 다시 시도하십시오. application/json을 사용하면 전화의 값이 null이고 요청 본문에 데이터가 없기 때문에 데이터가 ' 실제로 json을 사용할 때 제어기가 json 객체를 기대할 때 실제로 – demalegabi

관련 문제