@Anton_iv87

Как заставить работать $http.post с web.api?

Здравствуйте. Знающие и умеющие, подскажите пожалуйста в чем проблема. Бьюсь второй день над отправкой данных из поля ввода Angular в метод Web.Api.

WEB.API:

public class SVController : ApiController
{

private string message = "Введите логин и пароль";

// GET: api/SV
public string Get(int id)
{
return message;
}

// GET: api/SV/5
public string Get()
{
return message;
}

// POST: api/SV

public void Post([FromBody]string value)
{
message = value;
}

// PUT: api/SV/5
public void Put(int id, [FromBody]string value)
{
message = value;
}

}
}

Angular:

var loginApp = angular.module("loginApp", []);

loginApp.controller("loginController", function ($scope, $http) {

$http({ method: 'POST', url: 'localhost:55623/api/sv', data: "123" }).then(function (response) {
})

$http({ method: 'GET', url: 'localhost:55623/api/SV' }).then(function (response) {
$scope.message = response.data;
})

})

Реакция на POST нулевая. Get возвращает изначальное значение строки "Введите логин и пароль"
  • Вопрос задан
  • 338 просмотров
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
1) Запросы в AngularJS асинхронные
2) Запросы посылаются с Content-Type: application/json - удостоверьтесь, что сервер корректно обрабатывает
Ответ написан
Комментировать
@Anton_iv87 Автор вопроса
C post частично разобрался

WebApi

[HttpPost]
public string Post([FromBody]string value)
{
}

Angular

$scope.Send = function (login, password) {


$http.post('localhost:55623/api/sv', login + "." + password).then(function (response) {

$scope.message = response.data;

});

Теперь проблема следующая - через post передаю только цифры, если login или Password содержит одну или несколько букв, то значение в web api приходит пустое.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы