Laravel api CORS error when posting from js

I have made an API with Laravel and I am getting an error when I am trying to make a post. I don't know if I need to send the crsf from javascript or if I have made the cors middleware wrong.

When I make a get to the API I don't have any cors issue.

This is my middleware. It has been added on the kernel.php file.

class Cors{
    public function handle($request, Closure $next) {
        return $next($request)
            ->header('Access-Control-Allow-Origin', '*') 
            ->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, DELETE, OPTIONS')
            ->header('Access-Control-Allow-Headers', 'Origin, Content-Type, X-Auth-Token, Authorization, X-Requested-With, x-xsrf-token, ip');
    }
}

On javascritp I have added this: 'Content-Type': 'application/json' on the header.

And this is the error that it's giving to me

Access to XMLHttpRequest at 'http://localhost:8000/api/user/1/videos/1/newComment' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Thanks you a lot for your help.

Upvotes: 0

Views: 2046

Answers (1)

user6854465
user6854465

Reputation: 177

Try adding this to the top of the index.php in the root of your project...

    <?php
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    ?>

Upvotes: 2

Related Questions