Angularjs 角度后请求不工作,但工作正常

Angularjs 角度后请求不工作,但工作正常,angularjs,laravel,http-headers,cors,content-type,Angularjs,Laravel,Http Headers,Cors,Content Type,我知道有人问过我这个问题,但我尝试了很多方法,但都没有成功 我正在从angular应用程序向laravel后端api发出GET和POST请求。我能够从get请求中获取json,但对于json数据类型,我的POST请求失败。它适用于 x-www-form-urlencoded 但我无法提取数据,因为它是json格式的 $http.get('http://api.app.mywebsite.com/users').success(function(data){ $scope.user =

我知道有人问过我这个问题,但我尝试了很多方法,但都没有成功

我正在从angular应用程序向laravel后端api发出GET和POST请求。我能够从get请求中获取json,但对于json数据类型,我的POST请求失败。它适用于

x-www-form-urlencoded
但我无法提取数据,因为它是json格式的

$http.get('http://api.app.mywebsite.com/users').success(function(data){
    $scope.user = data;
});

$scope.addUser = function(user){
    console.log($scope.user);
    $http({
        method: 'POST',
        url: 'http://api.app.mywebsite.com/users',
        dataType: 'json',
        data: $scope.user,
        headers: {'Content-Type': 'application/json; charset=utf-8' }
    }).then(function(result){
        console.log(result);
    }, function(error){
        console.log(error);
    })
}

$scope.user is posted on form submit.
我得到的错误是:-

XMLHttpRequest cannot load http://api.app.mywebsite.com/users. 
Response     to preflight request doesn't pass access control check: 
No 'Access-Control-    Allow-Origin' header is present on the 
requested   resource. Origin 'http://app.mybackend.com' is therefore not     allowed access.
laravel中的My CORS.php中间件:-

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, X-Requested-With, Accept'
    ];
    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 $next($request);
}
routes.php

Route::group(['middleware' => 'cors'], function()
{
    Route::resource('users', 'UserController');
});
更新:

您需要配置http服务器以允许cors 类似问题:

以及:

什么是“不起作用”?你收到错误了吗?请更清楚地了解您所期望的和实际发生的情况。我收到以下错误消息“对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。”请更新我的问题。根据浏览器,飞行前发送了哪些标题?接受:*/*接受编码:gzip,deflate,sdch接受语言:en-US,en;q=0.8访问控制请求头:接受,内容类型访问控制请求方法:POST连接:保持活动主机:api.app.mywebsite.com来源:Referer:User-Agent:Mozilla/5.0(Windows NT 10.0;WOW64)AppleWebKit/537.36(KHTML,像Gecko)Chrome/46.0.2490.86 Safari/537.36我的服务器正在处理GET请求,这意味着CORS正在工作,所以我假设客户端有一些问题..检查添加的so问题。