Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Cors不适用于laravel5.2_Php_Angularjs_Laravel 5.2 - Fatal编程技术网

Php Cors不适用于laravel5.2

Php Cors不适用于laravel5.2,php,angularjs,laravel-5.2,Php,Angularjs,Laravel 5.2,Cors在此api中工作用户/postjob/store api中的登录问题我在angular中添加Cors true解决了此问题。 几天后,我再次调用此api,同样的错误也会发生 无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“” Routes.php Route::group(['prefix' => 'api'], function () { Route::post('users/login

Cors在此api中工作用户/postjob/store api中的登录问题我在angular中添加Cors true解决了此问题。 几天后,我再次调用此api,同样的错误也会发生

无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”

Routes.php

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

Route::post('users/login', array('middleware' => 'Cors', 'uses' =>      'Auth\AuthController@login')); 
});`

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

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

 });

});
 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;
}
Cors.php

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

Route::post('users/login', array('middleware' => 'Cors', 'uses' =>      'Auth\AuthController@login')); 
});`

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

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

 });

});
 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;
      });
        }; 

而不是使用
foreach
添加标题:

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

$response->headers->add($headers);

而不是使用
foreach
添加标题:

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

$response->headers->add($headers);

如果您使用apache,请检查:我在windows中使用wamp服务器如果您使用apache,请检查:我在windows中使用wamp服务器