A resposta à solicitação de comprovação não passa no controle de acesso, verifique a chamada do Laravel e do Ajax

Eu tenho uma API REST feita no Laravel 5.1 hospedada em um servidor remoto. Agora, estou tentando consumir essa API de outro site (que eu tenho no local).

No Laravel, defina as linhas necessárias para enviar os cabeçalhos do CORS. Também testei a API usando o Postman e tudo parece estar bem!

No frontend

Então, no site, enviei a solicitação POST usando ajax, com este código:

var url="http://xxx.xxx.xxx.xxx/apiLocation";
var data=$("#my-form").serialize();
    $.ajax({
                    type: "POST",
                    url: url,
                    data: data,
                    headers: { 'token': 'someAPItoken that I need to send'},
                    success: function(data) {
                        console.log(data);
                    },
                    dataType: "json",
                }); 

Compre, então eu recebo este erro no console:

XMLHttpRequest não pode carregarhttp://xxx.xxx.xxx.xxx/apiLocation. A resposta à solicitação de comprovação não passa na verificação do controle de acesso: Nenhum cabeçalho 'Access-Control-Allow-Origin' está presente no recurso solicitado. Origem »http: // localhost'não é, portanto, permitido o acesso.

No back-end

Na API, defino isso (usando um Laravel Middleware para definir os cabeçalhos):

return $next($request)
            ->header('Access-Control-Allow-Origin', '*')
            ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');

Então, estou confuso sobre onde está exatamente o problema.

No servidor? mas então por que com o Postman funciona bem?Está na chamada do Ajax? então, o que devo adicionar?

questionAnswers(1)

yourAnswerToTheQuestion