这是来自Vue页面的ajax请求。
AuthenticationServices.checkEmail(this.userData.email).then(response => {
console.log(response);
if (response.data == 1) {
this.errored = true;
} else {
this.errored = false;
this.successInput = true;
}
}).catch(error => {
console.log(error);
});
这是AuthenticationService.js中的代码
checkEmail(email) {
const url = '/check-email' + '/' + email;
const headers = {
'Accept': 'application/json',
'X-Requested-with': 'XMLHttpRequest'
}
return Api.get(url, headers);
}
以及Api.js上的这个
get(url, headers = {}) {
url = this.prepareUrl(url);
const options = {
headers: headers
}
return axios.get(url, options);
},
prepareUrl(endpoint) {
let baseUrl = '127.0.0.1:8000/api';
return baseUrl + endpoint;
}
这是我的web.php,它呈现所有页面
Route::get('/{any}', function () {
return view('welcome');
})->where('any', '.*');
并且在Api.php中,我有用于checkEmail的路由
Route::get('/check-email/{$email}', 'Frontend\Authentication\AuthenticationController@checkEmail')->name('check-email');
并且在控制器中,我有
public function checkEmail($email)
{
return response()->json('ok');
}
当我沿着那条路线行驶时。它像这样回来
响应应该为'ok'。我无法弄清楚问题..
Route::get('/{any}', function () {
return view('welcome');
})->where('any', '^(?!api).*');
这应该告诉laravel使用api路由。