Axios не может получить данные из основного веб-сервиса asp.net - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь получить данные из веб-службы в ядре asp.net, но вместо этого получаю сообщение об ошибке, хотя я пробовал один и тот же URL-адрес в Postman, а также в веб-браузере, и он работал просто отлично;обратите внимание, что я отключил SSL в ядре asp.net, чтобы он работал с HTTP Я даже предоставил некоторые конфигурации, такие как Content-Type , но я все еще получаюта же ошибка.

в Vue.js

    fetch(e) {

       e.preventDefault();

       const axiosConfiguration = {
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                    'Accept': 'application/json'
                }
            }


  axios.get('http://localhost:62750/api/users/',axiosConfiguration ).then( response => {
                     alert(JSON.stringify(response))
                 }).catch(e => {
                    alert(JSON.stringify(e))
                 })

            }

в C # Asp.net Core

    [Route("api/[controller]")]
    [ApiController]
    public class UsersController : ControllerBase
    {
        private readonly SchoolContext _context;

        public UsersController(SchoolContext context)
        {
            _context = context;
        }


        [HttpGet]
        public async Task<ActionResult<IEnumerable<Users>>> GetUsers()
        {
            return await _context.Users.ToListAsync();
        }

    }

Я получаю сообщение об ошибке

{"message": "Ошибка сети", "name": "Ошибка", "stack": "Ошибка: ошибка сети \ n при createError (webpack-internal: ///./node_modules/axios/lib/core/createError.js:16:15)\n at XMLHttpRequest.handleError (webpack-internal: ///./node_modules/axios/lib/adapters/xhr.js: 81: 14) "," config ": {" url ":" http://localhost:62750/api/users","method":"get","headers":{"Accept":"application/json, text / plain, /"}," transformRequest ": [null]," transformResponse ": [null],"timeout ": 0," xsrfCookieName ":" XSRF-TOKEN "," xsrfHeaderName ":" X-XSRF-TOKEN "," maxContentLength ": - 1}}

Заранее спасибо.

1 Ответ

1 голос
/ 03 ноября 2019

Вы должны настроить CORS на вашем .net core API. CORS - это Cross Origin Resource Sharing, что означает, что при отправке запроса на другой порт он по умолчанию блокируется, поэтому его необходимо включить, чтобы запросить локальный хост: 62750 из другого порта.

Вот один пример о том, как вы можете это сделать.

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