Asked Dec 14th, 2018 2:14 AM 440 0 1
  • 440 0 1
0

lỗi CORS giữa laravel + angular

Share
  • 440 0 1

Pj web của mình đang làm trên nền tảng angular 6 và laravel 5 khi mình post dữ liệu thì bị lỗi cors như bên dưới Client request Server response mình đã cấu hình laravel để cho phép cors như bên dưới nhưng vẫn không được bạn nào biết thì giúp mình với, loay hoay cả tuần chưa fix xong được

Dao Thai Son @dao.thai.son
Dec 14th, 2018 2:21 AM

1 ANSWERS


Answered Dec 14th, 2018 2:28 AM
+2

Thay vì config trong file .htaccess thì bạn thử dùng middleware cho endpoint

<?php namespace App\Http\Middleware;

use Closure;

class CORS {

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {

        header("Access-Control-Allow-Origin: *");

        // ALLOW OPTIONS METHOD
        $headers = [
            'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, DELETE',
            'Access-Control-Allow-Headers'=> 'Content-Type, X-Auth-Token, Origin'
        ];
        if($request->getMethod() == "OPTIONS") {
            // The client-side application can set only headers allowed in Access-Control-Allow-Headers
            return Response::make('OK', 200, $headers);
        }

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

}
Share
Phong @buitranphong
Dec 14th, 2018 2:42 AM

Mình đã thêm middleware của bạn, nhưng lần này lại ra lỗi khác 2018-12-14_093842.jpg

đây là cấu hình middleware của mình 2018-12-14_094016.jpg

0
| Reply
Share
Dao Thai Son @dao.thai.son
Dec 14th, 2018 6:57 AM

@buitranphong Mình tìm hiểu thì có thể vấn đề bị gặp phải do lỗi từ phía client chứ không phải do backend ? 😏 Giờ bạn thử dùng thêm extension này vào trong Chrome rồi test lại xem.

0
| Reply
Share
Phong @buitranphong
Dec 14th, 2018 7:07 AM

@dao.thai.son mình có dùng qua extension này rồi, nhưng mình muốn người dùng truy cập mà không cần phải cài bất cứ extension nào cả như vậy thì không thân thiện cho lắm 😐

0
| Reply
Share
Dao Thai Son @dao.thai.son
Dec 14th, 2018 7:21 AM

@buitranphong Bạn thử cả việc thêm cả Access-Control-Allow-Origin: * vào trong Apache/Nginx đi

0
| Reply
Share