POST звонок не работает для webapi - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь опубликовать данные в webapi для некоторых операций.Мой веб-интерфейс содержит метод POST. Когда я публикую данные с помощью почтальона, он попадает в метод контроллера, но данные передаются как нулевые. Когда я нажимаю тот же метод из веб-приложения, он не работает и показывает ошибку 404,

POST Call:

                        var urlstring = "/api/Membership/BulkUpload"
                        $.post(
                        urlstring,
                          JSON.stringify(exceljson)).

                        success(function(data)
                        {
                        console.log(data);
                        }
                        );

Метод контроллера:

[HttpRoute("api/Membership/BulkUpload")]
    public HttpResponseMessage BulkUpload([FromBody]string studentDetails)
    {
        Some Code Here
    }

Когда я удаляю [FromBody], он не попадает и из почтальона.Я не понимаю, что идет не так в почтовом звонке

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Вы можете попробовать одно из следующих действий:

1 - без [Из тела]

Клиентская сторона

var urlstring = `/api/Membership/BulkUpload?studentDetails=${value}`
                        $.post(
                        urlstring,
                          {}).

                        success(function(data)
                        {
                        console.log(data);
                        }
                        );


[HttpRoute("api/Membership/BulkUpload")]
    public HttpResponseMessage BulkUpload(string studentDetails)
    {
        Some Code Here
    }

2 - объект MAP в C #

на стороне клиента

var urlstring = '/api/Membership/BulkUpload'
                        $.post(
                        urlstring,
                          {
                             studentDetails : value 
                          }).
                        success(function(data)
                        {
                        console.log(data);
                        }
                        );

на стороне сервера

[HttpRoute("api/Membership/BulkUpload")]
    public HttpResponseMessage BulkUpload([FromBody]studentApiModel dataIn)
    {
        Some Code Here
    }

 public class studentApiModel 
 {
        public string studentDetails { get; set; }
 }
0 голосов
/ 27 мая 2018

Попробуйте следующий код,

 var urlstring = "/api/Membership/BulkUpload"
    $.post(
    urlstring,
    {JSON.stringify(exceljson))})

    .done(function(data)
    {
      console.log(data);
    }
 );
...