angular REST API http 302 ошибка состояния Запрос перекрестного источника заблокирован - PullRequest
0 голосов
/ 09 марта 2020

Я использую Laravel 5.8 и Angular 8 . Я вызываю POST API и в контроллере API возвращаю ответ с Location на другой веб-сайт, но выдаю ошибку:

Блокирован перекрестный запрос: политика одного источника запрещает чтение удаленного ресурса на https://www.example.com. (Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»).

мой контроллер

class InvoiceController extends Controller{
    public $successStatus = 200;
    public function addInvoice(Request $request){
    $validator = Validator::make($request->all(),
        [
            'id'=>'required',
            'title'=>'required',
            'price'=>'required',
            'price_state'=>'required',
        ]
    );
    if ($validator->fails()) {
        return response()->json(['error'=>$validator->errors()->first()], 400);
    }
    $input['id']= $request['id'];
    $input['title']= $request['title'];
    $input['price']= (int)$request['price'];
    $input['price_state']= $request['price_state'];
    $invoice = (new Invoice)->amount( $input['price']);
    $invoice->detail(['course' =>$input['title']]);

    return Payment::callbackUrl('http://localhost:4200/preInvoice/'.$input['id'].'/'.$input['title'])->purchase(
        $invoice,
        function($driver, $transactionId) {
            // we can store $transactionId in database
        }
    )->pay();
}
}

Я использую CORS промежуточное ПО в Laravel

 public function handle($request, Closure $next)
{
    $headers = [
        'Access-Control-Allow-Methods'=> 'HEAD,POST, GET, OPTIONS, PUT, DELETE',
        'Access-Control-Allow-Headers'=> 'X-Requested-With, Content-Type, Accept, Origin, Authorization',
        'Access-Control-Allow-Origin' => '*'
    ];

    if($request->getMethod() === 'OPTIONS') {
        // The client-side application can set only headers allowed in Access-Control-Allow-Headers
        return \response('', 200, $headers);
    }

    $response = $next($request);
    foreach($headers as $key => $value)
        $response->header($key, $value);
    return $response;
}

это мой http ответ enter image description here

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