Axios 从 next.js 获取对 Laravel 端点的请求
Axios get request to Laravel endpoint from next.js
我对我的 laravel 端点有以下请求:
axios.get('http://localhost:8000/auth/login', {})
.then(function (response) {
console.log(response);
return {};
})
.catch(function (error) {
return {}
});
我的 laravel 端点设置为:
public function index() {
var_dump('login called.');die;
return response()->json(
[],
200
);
}
我启动了我的 nextjs 服务器(端口 3000)和 laravel 服务器(8000),当我在浏览器中浏览到 localhost:8000/auth/login 时,我看到 "login called".但是,当我执行该 axios 调用时,我得到状态 200ok 但没有响应数据。
Request URL:http://localhost:8000/auth/login
Request Method:GET
Status Code:200 OK
Remote Address:127.0.0.1:8000
Referrer Policy:no-referrer-when-downgrade
知道我做错了什么吗?
你的代码没有问题,你得到了正确的响应,你看到 "login called" 因为你是从浏览器访问的,因此浏览器具有呈现 html 的能力,你可以看到那个。
但是 axios 调用需要 return 中的一些 json。
如果稍微调整一下响应:
public function index() {
return response()->json(
['data' =>'Log in called'],
200
);
}
如果你稍微调整一下 axios 响应
axios.get('http://localhost:8000/auth/login', {})
.then(function (response) {
console.log(response.data);
return {};
})
.catch(function (error) {
return {}
});
检查元素打开控制台,你会看到'Log in called'
我对我的 laravel 端点有以下请求:
axios.get('http://localhost:8000/auth/login', {})
.then(function (response) {
console.log(response);
return {};
})
.catch(function (error) {
return {}
});
我的 laravel 端点设置为:
public function index() {
var_dump('login called.');die;
return response()->json(
[],
200
);
}
我启动了我的 nextjs 服务器(端口 3000)和 laravel 服务器(8000),当我在浏览器中浏览到 localhost:8000/auth/login 时,我看到 "login called".但是,当我执行该 axios 调用时,我得到状态 200ok 但没有响应数据。
Request URL:http://localhost:8000/auth/login
Request Method:GET
Status Code:200 OK
Remote Address:127.0.0.1:8000
Referrer Policy:no-referrer-when-downgrade
知道我做错了什么吗?
你的代码没有问题,你得到了正确的响应,你看到 "login called" 因为你是从浏览器访问的,因此浏览器具有呈现 html 的能力,你可以看到那个。
但是 axios 调用需要 return 中的一些 json。 如果稍微调整一下响应:
public function index() {
return response()->json(
['data' =>'Log in called'],
200
);
}
如果你稍微调整一下 axios 响应
axios.get('http://localhost:8000/auth/login', {})
.then(function (response) {
console.log(response.data);
return {};
})
.catch(function (error) {
return {}
});
检查元素打开控制台,你会看到'Log in called'