我不能让我的 Angular App 使用$http.post 请求。不管我做什么,我总是得到结果:
XMLHttpRequest 无法加载http://domain.com/public/apiendpoint。在预检响应中 Access-Control-Allow-Headers 不允许请求头字段 Content-Type
我曾尝试使用Barryvdh Cors,制作自己的中间件,甚至将标题放在控制器中
Cors Middleware
class Cors
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
}
}
控制器内的标题:
public function store(Request $request){
header('Access-Control-Allow-Origin: *');
header( 'Access-Control-Allow-Headers: Authorization, Content-Type' );
$input = $request->all();
MyModel::create($input);
return response()->JSON(["save"=>"ok"]);
}
我该如何启用 CORS?
P.D。 - 与邮递员一起使用,但在 angularjs 帖子中没有任何作用。
角度代码:已编辑
$scope.soloPlay = function(){
//Enviamos la cancion y nada más
var dataObj = {
uri: $scope.selTrack.uri,
user: $scope.selTrack.user,
quote: ""
};
$http({
method: 'POST',
url: 'http://jukebox.adagal.com/public/cancion',
data: dataObj
}).then(function successCallback(response) {
console.log("POST OK: "+JSON.stringify(response));
}, function errorCallback(response) {
console.log("POST FAIL: "+JSON.stringify(response));
});
}