Невозможно отправить данные в метод действия. net core из angular 5 - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь отправить данные из компонента angular 5 в метод действия ядра. net. Я могу нажать метод действия, но значения равны нулю. Как показано в примере ниже, Usr.FirstName является нулевым в методе действия Su sh.

Модель-

namespace VModels
{
    public class UserVM
    {
        public long UserId { get; set; }
        public string FirstName { get; set; }
    }
}

Метод действия. net core-

[HttpPost]
public IActionResult Sush(UserVM Usr)        
{
    UserVM objOutput = new UserVM();
    CommonGetPostMethod<UserVM, UserVM> objCommonMthd = new CommonGetPostMethod<UserVM, UserVM>();
    UserVM objvm = new UserVM();
    objvm.FirstName = "Susheel " + DateTime.Now.Ticks.ToString();
    objCommonMthd.SaveData(Usr, "https://localhost:44303/api/UserAPI", ref objOutput);            
    return View(Usr);
}

Метод отправки в angular 5-

SaveUser(userofrm: NgForm) {    
    var model = userofrm.value;
    var values = JSON.stringify(model);       
    this.hpclient.post<UserVM>("https://localhost:44321/User/Users/Sush", values).subscribe(success => { }, fail => { });    
}

1 Ответ

1 голос
/ 11 февраля 2020

На основе предоставленного вами кода я провел тест со следующим простым примером, который хорошо работает на моей стороне, вы можете сослаться на него.

// make request with testing data

var model = {'FirstName':'Test'};
var values = JSON.stringify(model); 
console.log(values);      
this.hpclient.post<UserVM>("https://localhost:44305/api/data/Sush", values, httpOptions).subscribe(success => { console.log(success);}, fail => { }); 

Определение и настройка заголовков для запроса (запросов)

import { HttpClient, HttpHeaders  } from '@angular/common/http';

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json'
  })
};

Действие контроллера API

[HttpPost("Sush")]
public IActionResult Sush(UserVM Usr)
{
    Usr.UserId = 100;
    return Ok(Usr);
}

Результат теста

enter image description here

Чтобы устранить проблему, вы можете попытаться сделать запрос с теми же данными от почтальона и c инструмент и проверьте, можете ли вы получить ожидаемые данные в методе действия. Или сделайте запрос с данными тестирования (как я), а не со значением внутри userofrm, а затем проверьте, может ли он работать на вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...