2017-02-22 9 views
1

Корсики, работающие в этой утилите api/проблема входа в postjob/store api, я решил эту проблему, добавив корс в угловое. Через несколько дней я называю это апи снова та же ошибка происходитКорс не применяется в laravel5.2

XMLHttpRequest не может загрузить http://192.168.10.5/jobpost1/public/api/job. Ответ на запрос перед полетом не проходит проверку контроля доступа. Нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе. Происхождение 'http://localhost:9001', следовательно, не допускается.

routes.php

Route::group(['prefix' => 'api'], function() { 

Route::post('users/login', array('middleware' => 'Cors', 'uses' =>  'Auth\[email protected]')); 
});` 

Route::group(['prefix'=>'api'], function() 
{ 

Route::group(['middleware'=>'jwt-auth'], function() 
    { 
    Route::post('postjob/store', array('middleware' => 'Cors', 'uses'=> '[email protected]')); 

}); 

}); 

Cors.php

class Cors 
{ 

public function handle($request, Closure $next) 
{ 




    // ALLOW OPTIONS METHOD 
    $headers = [ 
     'Access-Control-Allow-Origin'=> '*', 
     'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, DELETE', 
     'Access-Control-Allow-Headers'=> 'Content-Type, X-Auth-Token, Origin', 
     'Access-Control-Allow-Credentials' => 'true' 
    ]; 
    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; 
} 

углового Код

   return $http({ 
       method: 'POST', 
       url: 'http://192.168.10.4/jobpost1/public/api/job', 
       cors: true, 
       xhrFields: { 
       withCredentials: true 
        }, 
       params: { 
     "token" :token, 
     "user_id": userId, 
     "job_shift": job_shift, 
     "job_type": job_type, 
     "job_description":job_description, 
     "degree_title": degree_title, 
     "city": city, 
     "experience": experience, 
     "career_level": career_level, 
     "gender":gender, 
    "total_position": total_position, 
    "minimum_edu":minimum_edu, 
    "apply_before": apply_before 
       } 
      }).then(function successCallback(response, status) { 
     callback(response, status); 
     debugger; 
    } 
     , function errorCallback(response, status) { 
     callback(response, status); 
     debugger; 
     }); 
     }; 
+0

Если вы используете проверку апачский это: https://gist.github.com/ZiTAL/3a96710679bd1c21bb381397925c85c0 – ZiTAL

+0

я Я использую wamp-сервер в окнах – UNknow

ответ

0

Вместо добавления заголовков с помощью foreach:

foreach($headers as $key => $value) 
    $response->header($key, $value); 

Дайте этому пойти вместо:

$response->headers->add($headers); 
Смежные вопросы