문제가 직접적으로 다이빙합니다.Web Api 및 AngularJs
팩토리에서 정의 된 함수를 호출하는 angularJs 컨트롤러가 있습니다. 팩토리 함수는 '[FromBody] 문자열'매개 변수를 받아들이는 Api POST 액션을 호출합니다. 여기에서 문제가 정확히 제기되었습니다. 사실, 매개 변수는 항상 null입니다! factory 메소드 내부에는 원하는 값이 있습니다. 다음 코드 비트는 다음
AngularJS와 컨트롤러 :
$scope.readText = function() {
var element = document.getElementsByClassName('news-content');
if (element[0] != undefined) {
elementPureText = element[0].innerText;
}
dataFactory.createTextFile(elementPureText)
.succes(function(data, status, headers, config) {
}).error(function(data, status, headers, config) {
});
};
공장 번호 :
philadelphiaApp.factory('dataFactory', ['$http', function ($httpt) {
var dataFactory = {};
dataFactory.createTextFile = function (text) {
return $httpt.post('api/textmanager/textWriter', { '': text });
};
return dataFactory;
}]);
그리고 마지막으로 ApiController
:[HttpPost]
[ActionName("TextWriter")]
public HttpResponseMessage PostTextWriter([FromBody]string text)
{
if (String.IsNullOrEmpty(text) || text.Length == 0)
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest));
}
if (!Directory.Exists(FileDirectory))
{
try
{
Directory.CreateDirectory(FileDirectory);
}
catch (Exception)
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest));
}
}
try
{
File.WriteAllText(FileDirectory, text);
}
catch (Exception)
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest));
}
return Request.CreateResponse(HttpStatusCode.OK, text);
}
방문하고 내가 포럼 및 솔루션을 제공하는 웹 사이트의 많은 통해 제공되는 웹을 통해 검색 한 후하지만 나는 아직 그것을 처리 할 수 있습니다. 내가보기 엔이에 어떤 도움을 주셔서 감사합니다
http://encosia.com/using-jquery-to-post-frombody-parameters-to-web-api/
...
감사합니다. 이전에는했지만 여전히 NULL 값이었습니다. 사실, 내가 언급 한 URL (내 질문 내에서)에 제안 된대로 개체를 보냈습니다 – Ali