Я использую React Js в качестве моего интерфейса и C# WebApi с моим сервером. Я пытаюсь использовать токен на своем бэкэнде.
Вот мой код:
Реакция JS
Логин JS
import React, { Component } from 'react';
import './App.css';
import logo from './logo.svg';
import {Button, Card, CardBody, CardGroup, Col, Container, Form, Input, InputGroup, Row} from 'reactstrap';
import 'bootstrap/dist/css/bootstrap.min.css';
import axios from 'axios';
class Login extends Component{
constructor(){
super();
this.state = {
UserRole: '',
UserName: '',
UserPassword: '',
}
this.UserPassword = this.UserPassword.bind(this);
this.UserName = this.UserName.bind(this);
this.Login = this.Login.bind(this);
}
UserName(event) {
this.setState ({ UserName: event.target.value})
}
UserPassword(event){
this.setState ({ UserPassword: event.target.value})
}
Login(event){
debugger;
axios.post('http://localhost:60111/Api/login', {
UserName: this.state.UserName,
UserPassword: this.state.UserPassword})
.then(result => {
if(result.data.Status === 'Success'){
console.log(result.data.Status);
alert("User login Successfully");
this.props.history.push("/Dashboard");
}else
{
alert('Invalid User');
this.props.history.push('/Login');
}
debugger;
})
}
Итак, как вы можете видеть здесь, я пытаюсь передать мои UserName и UserPassword моему бэкэнду C# WebApi.
Однако на моем C# WebApi контроллере входа я пытаюсь выполнить действие проверки, как показано ниже:
namespace mylogin.Controllers
{
[RoutePrefix("Api")]
public class LoginController : ApiController
{
DBSecurityTestEntities DBSE = new DBSecurityTestEntities();
[Route("login")]
[HttpPost]
public HttpResponseMessage Login(User user)
//public object Login(User user)
{
bool status = false;
using (DBSE)
{
var obj = DBSE.UserLogins.Where(x => x.UserName.Equals(user.UserName) && x.UserPassword.Equals(user.UserPassword)).FirstOrDefault();
if (obj != null)
//UserLogin ul = new UserLogin();
//if (user.UserName == ul.UserName && user.UserPassword == ul.UserPassword)
{
status = true;
}
else
{
status = false;
}
}
if (status == true)
{
//do something here... perform login and send token
}
}
Однако то, как я это объявляю, привело к ошибке. Я попытался установить точку останова и проверил значение здесь 
Так что, похоже, мои данные были успешно переданы из внешнего интерфейса, однако мой C# WebApi не может выполнить проверку (так как мой obj
равен null
).
Может ли кто-нибудь указать на мою ошибку или упущение?