为了账号安全,请及时绑定邮箱和手机立即绑定

laravel vue SPA页面在ajax请求上返回HTML而不是json值

laravel vue SPA页面在ajax请求上返回HTML而不是json值

PHP
慕容708150 2022-07-02 16:27:13
这是我来自 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' 。我无法弄清楚问题..标题部分
查看完整描述

2 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

标头似乎没问题,因此为避免这种情况,请在您的网络路由中添加一个条件:


Route::get('/{any}', function () {

  return view('welcome');

})->where('any', '^(?!api).*');

这应该告诉 laravel 使用 api 路由。


查看完整回答
反对 回复 2022-07-02
?
慕的地10843

TA贡献1785条经验 获得超8个赞

在不应该有的路线上有一个美元标志。

尝试将 {$email} 更改为 {email}


查看完整回答
反对 回复 2022-07-02
  • 2 回答
  • 0 关注
  • 248 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号