رحیمی
2 سال پیش توسط رحیمی مطرح شد
1 پاسخ

عدم فراخوانی متد با استفاده از axios در react

با سلام
من یک پروژه در vs 2022 از نوع asp core with react ایجاد کردم .
از axios برای ارتباز با کنترلر استفاده کرده ام.

function loginUser(dispatch, login, password, history, setIsLoading, setError) {
setError(false);
setIsLoading(true);

if (!!login && !!password) {
    alert('s');

  setError(null)
  setIsLoading(false)
    dispatch({ type: 'LOGIN_SUCCESS' })
    try {
        axios.post("api/Account/Login", {
            User: login,
            Pass: password
        }).then(result => {
            console.log(result);
        });
    }
    catch (error) {
        if (error.response) {

            console.log(error.response);

        } else if (error.request) {

            console.log(error.request);

        } else if (error.message) {

            console.log(error.message);
        }
    }
} else {
dispatch({ type: "LOGIN_FAILURE" });
setError(true);
setIsLoading(false);
}
}

و در کنترلر


I am using React on the front-end and need to request some data from a server.

I use axios in react for post data to controller.

function loginUser(dispatch, login, password, history, setIsLoading, setError) {
setError(false);
setIsLoading(true);

if (!!login && !!password) {
    alert('s');

  setError(null)
  setIsLoading(false)
    dispatch({ type: 'LOGIN_SUCCESS' })
    try {
        axios.post("api/Account/Login", {
            User: login,
            Pass: password
        }).then(result => {
            console.log(result);
        });
    }
    catch (error) {
        if (error.response) {

            console.log(error.response);

        } else if (error.request) {

            console.log(error.request);

        } else if (error.message) {

            console.log(error.message);
        }
    }
} else {
dispatch({ type: "LOGIN_FAILURE" });
setError(true);
setIsLoading(false);
}
}

and in controller

[ApiController]
[Route("api/{controller}")]
public class AccountController : ControllerBase
{
    private readonly IApplicationUserManager _userManager;
    private readonly IApplicationRoleManager _roleManager;
    private readonly SignInManager<ApplicationUser> _signInManager;

    public AccountController(IApplicationUserManager userManager, IApplicationRoleManager roleManager,
        SignInManager<ApplicationUser> signInManager)
    {
        _userManager = userManager;
        _roleManager = roleManager;
        _signInManager = signInManager;
    }

    [HttpPost]
    public IActionResult Login([FromBody] LoginViewModel model)
    {
        return Ok(100);
    }
}

و در program

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllersWithViews();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
 // The default HSTS value is 30 days. You may want to change this for production        scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.MapControllerRoute(
name: "default",
pattern: "{controller}/{action=Index}/{id?}");

app.MapFallbackToFile("index.html"); ;
app.Run();

بعد از اجرای برنامه متد راخوانی نمی شود.


ثبت پرسش جدید
حامد نیرومند
تخصص : برنامه‌نویس
@hamedniroomand 2 سال پیش مطرح شد
1

من در کدهای شما ندیدم پکیج axios رو ایمپورت کرده باشید
از نصب بودن پکیج و ایمپورت شدنش در اول فایلتون مطمئن بشید

import axios from 'axios'

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام