CORS Laravel VueJS

Эта ошибка возникает при переполнении циклов цикла. Давайте рассмотрим простой пример:

class demo{
  public static void main(String a[]){

    int[] numberArray={4,8,2,3,89,5};

    int i;

    for(i=0;i<numberArray.length;i++){
        System.out.print(numberArray[i+1]+"  ");
    }
}

Сначала я инициализировал массив как «numberArray». то некоторые элементы массива печатаются с использованием цикла. Когда цикл запускает время «i», напечатайте элемент (numberArray [i + 1] .. (когда значение i равно 1, будет напечатан элемент numberArray [i + 1].) Предположим, что, когда i = (numberArray. length-2), последний элемент массива печатается. Когда значение «i» переходит к (numberArray.length-1), нет значения для печати. ​​В этот момент происходит «ArrayIndexOutOfBoundsException». Я надеюсь, что вы можете получить idea.thank you!

0
задан J. Doe 16 January 2019 в 14:03
поделиться

3 ответа

Проблема, с которой вы сталкиваетесь, связана с той же политикой происхождения. Вы можете прочитать об этом на сайте Mozilla ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Server-Side_Access_Control ). это в основном доказанный несанкционированный доступ к веб-серверам. Вы можете изменить реакцию своего веб-сервера, и я также включил эту ссылку.

0
ответ дан Eningly 16 January 2019 в 14:03
поделиться

Если сюда придут новые люди, чтобы помочь мне, я приведу более подробную информацию.

Я использую Laragon в качестве локального сервера, который использует Apache. Я пытался изменить httpd.conf, и это ничего не меняет.

Когда я помещаю URI в мой навигатор, он работает, например:

http: //api.test/api/events/ возвращает хороший json.

И моя ошибка изменилась:

Доступ к XMLHttpRequest по адресу [ http: //api.test/api/events/0 «из источника» http: // localhost: 8080 'заблокирован политикой CORS: заголовок' Access-Control-Allow-Origin 'содержит несколько значений' *, http: // localhost: 8080 ', но только один разрешен.

Повторно отредактируйте, это работает. Я удалил промежуточное ПО cors и поместил набор Access-Control-Allow-Origin в httpd.conf

0
ответ дан J. Doe 16 January 2019 в 14:03
поделиться

Серверы используются для размещения веб-страниц, приложений, изображений, шрифтов и многого другого. Когда вы используете веб-браузер, вы, вероятно, пытаетесь получить доступ к отдельному веб-сайту (расположенному на сервере). Веб-сайты часто запрашивают эти размещенные ресурсы из разных мест (серверов) в Интернете. Политики безопасности на серверах снижают риски, связанные с запросом ресурсов, размещенных на другом сервере. Давайте рассмотрим пример политики безопасности: same-origin.

1113 Политика одного и того же происхождения очень ограничительна. В соответствии с этой политикой документ (например, веб-страница), размещенный на сервере A, может взаимодействовать только с другими документами, которые также находятся на сервере A. Короче говоря, политика одного и того же происхождения обеспечивает одинаковость документов, взаимодействующих друг с другом. происхождение.


Проверьте эту библиотеку CORS , созданную для использования Laravel. Установка проста:

$ composer require barryvdh/laravel-cors
$ php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"

Значения по умолчанию установлены в config/cors.php

return [
     /*
     |--------------------------------------------------------------------------
     | Laravel CORS
     |--------------------------------------------------------------------------
     |
     | allowedOrigins, allowedHeaders and allowedMethods can be set to array('*')
     | to accept any value.
     |
     */
    'supportsCredentials' => false,
    'allowedOrigins' => ['*'],
    'allowedHeaders' => ['Content-Type', 'X-Requested-With'],
    'allowedMethods' => ['*'], // ex: ['GET', 'POST', 'PUT',  'DELETE']
    'exposedHeaders' => [],
    'maxAge' => 0,
];

allowedOrigins, allowedHeaders и allowedMethods можно установить на array('*') для принятия любого значения. [ 1116]

Чтобы разрешить CORS для всех ваших маршрутов, добавьте промежуточное программное обеспечение HandleCors в свойстве $middleware класса app/Http/Kernel.php:

protected $middleware = [
    // ...
    \Barryvdh\Cors\HandleCors::class,
];

Если вы хотите разрешить CORS для определенной группы промежуточного программного обеспечения или маршрута, добавьте промежуточное программное обеспечение HandleCors в свою группу:

protected $middlewareGroups = [
    'web' => [
       // ...
    ],

    'api' => [
        // ...
        \Barryvdh\Cors\HandleCors::class,
    ],
];

https://www.codecademy.com/articles/what-is-cors

0
ответ дан Adis 16 January 2019 в 14:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: