I've been trying to figure this out for hours now but none of the solutions seem to help. I have an MVC6 project with AngularJs. I am able to connect, so my routes are working, and I am able to get data back if I hard code a string or something, but I can't seem to access the data sent to the server.

My angularjs http request code:

var app = angular.module('APIService', []);
app.factory('APIService', function ($http) {
    var api = {};

    api.getBuyer = function (data) {
        return $http.post('/api/buyer', data);
        res.success(function (data, status, headers, config) {
            $scope.message = data;
        });
    }

    return api;
});

The angularjs function call

APIService.getBuyer({ Url: 'samirbashir5739', FirstName: 'Samir' }).success(function (res) {

});

My C# Controller

namespace Reporting.api
{
    [Route("api/buyer")]
    public class BuyersController : Controller
    {
        // POST api/buyer
        [HttpPost]
        public string Post([FromBody] string Url)
        {
            return Url;
        }
    }
}

I've tried setting the data as "JsonResult data", or even "string Url." Most tutorials I found had an object for the data so it would fit into something like "[FromBody] Buyer buyer" but I don't have an object for it, I simply want the data. Is it possible?

Related posts

Recent Viewed