Angular 2加载失败,预检请求的响应无效(重定向)。
Angular 2加载失败,预检请求的响应无效(重定向)。
我在使用Angular 2与Laravel PHP框架进行API开发。我的Angular 2项目运行在http://localhost:4200/,而我的Laravel PHP框架运行在http://localhost:80/laravel/public。
当我在Angular 2项目中运行以下代码时:
getAllProfessionals():Observable{ return this.http.get(globals.baseUrl+'/professionals/', {headers:this.utilService.getHeadersJson()}).map(this.utilService.map); }
我在浏览器中得到以下错误信息:
无法加载http://localhost/laravel/public/api/v1/professionals/:
响应预检请求无效(重定向)
globals.baseUrl是http://localhost/laravel/public/api/v1/。
这是我utilService中的调用:
getHeadersJson() { let headers = new Headers(); headers.append('Accept', 'application/json'); headers.append('Content-Type', 'application/json'); headers.append('Authorization', 'Bearer ' + localStorage.getItem('token')); return headers; } map(response: Response): any { return response.json(); }
我在这里做错了什么?我的API调用有问题吗?
当我进行如下get请求时:
getCountrys(filter):Observable{ return this.http.get(globals.baseUrl+'/country/' + filter, {headers:this.utilService.getHeadersJson()}).map(this.utilService.map); }
这个获取国家的调用是有效的!
当我访问URL:http://localhost/laravel/public/api/v1/professionals/时,返回以下内容:
请帮忙解决!
这是我在Laravel的api.php文件中的路由定义,位于我的routes文件夹下:
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); Route::group([ 'prefix' => 'v1'], function () { Route::resource('register', 'v1\RegisterController'); Route::resource('paintype', 'v1\PainTypeController'); Route::resource('painlevel', 'v1\PainLevelController'); Route::resource('painkiller', 'v1\PainKillersController'); Route::resource('profession', 'v1\ProfessionsController'); Route::resource('qualification', 'v1\QualificationsController'); Route::resource('specialities', 'v1\SpecialitiesController'); Route::resource('problems', 'v1\ProblemsController'); Route::resource('user', 'v1\UserController'); Route::post('login', 'v1\AuthController@login'); Route::post('professionals', 'v1\ProfessionalsController@store'); Route::post('patients', 'v1\PatientsController@store'); Route::get('country/{text}', 'v1\LocationController@getCountries'); Route::get('region/{id}', 'v1\LocationController@getRegions'); Route::get('city/{id}', 'v1\LocationController@getCities'); Route::get('reviews/{username}', 'v1\ReviewController@show'); Route::group(['middleware' => ['before' => 'jwt.auth']], function () { Route::resource('post-job', 'v1\PostJobController'); Route::post('reviews', 'v1\ReviewController@store'); Route::get('profile', 'v1\AuthController@profile'); Route::get('jobs/listjob', 'v1\PostJobController@getMyJobs'); }); });