laravel 带参数的简单 axios
laravel simple axios with argument
我正在尝试设置 axios 请求,但总是缺少参数,但不确定我该如何传递它,有人可以解释为什么这行不通吗?
我的路线:(web.php)
Route::post('/api/setSuccessMessage', 'API\SessionsController@setSuccessMessage');
我的控制器:(Controllers/API/SessionsController.php)
class SessionsController extends Controller
{
public static function setSuccessMessage($key, $value)
{
session()->put($key ,$value);
}...
和我的 vueJS axios 调用 (resources/assets/components/Login.vue)
created: function () {
// check is user logged out
axios.post('/api/setSuccessMessages', {message: 'message',message2: 'message2'}).then((response)=> {
console.log(response);
})
},
如果您想将数据作为请求正文的一部分发送,您可以这样做
axios.post('/api/setSuccessMessages', {message: 'message',message2: 'message2'})
.then((response)=> {
console.log(response);
}
)
//you then accept them as such
Route::post('/api/setSuccessMessage/{message}/{message2}', 'API\SessionsController@setSuccessMessage');
如果您希望将数据作为请求参数发送(url 中 ? 之后的所有内容),您可以这样做
var params = {
message1: message1,
message2: message2
};
axios.post('/api/setSuccessMessages', {}, {'params': params})
.then((response)=> {
console.log(response);
}
)
//you then accept them as such
Route::post('/api/setSuccessMessage', 'API\SessionsController@setSuccessMessage');
//You can further use them as such in controller
function public test(Request $request) {
$request->get('message1');
$request->get('message2');
}
我将参考 axios official docs 作为 axios 请求参数
使用:
public static function setSuccessMessage(Request $request)
{
$key = $request->get('message');
$value = $request->get('message2');
session()->put($key ,$value);
}
我正在尝试设置 axios 请求,但总是缺少参数,但不确定我该如何传递它,有人可以解释为什么这行不通吗?
我的路线:(web.php)
Route::post('/api/setSuccessMessage', 'API\SessionsController@setSuccessMessage');
我的控制器:(Controllers/API/SessionsController.php)
class SessionsController extends Controller
{
public static function setSuccessMessage($key, $value)
{
session()->put($key ,$value);
}...
和我的 vueJS axios 调用 (resources/assets/components/Login.vue)
created: function () {
// check is user logged out
axios.post('/api/setSuccessMessages', {message: 'message',message2: 'message2'}).then((response)=> {
console.log(response);
})
},
如果您想将数据作为请求正文的一部分发送,您可以这样做
axios.post('/api/setSuccessMessages', {message: 'message',message2: 'message2'})
.then((response)=> {
console.log(response);
}
)
//you then accept them as such
Route::post('/api/setSuccessMessage/{message}/{message2}', 'API\SessionsController@setSuccessMessage');
如果您希望将数据作为请求参数发送(url 中 ? 之后的所有内容),您可以这样做
var params = {
message1: message1,
message2: message2
};
axios.post('/api/setSuccessMessages', {}, {'params': params})
.then((response)=> {
console.log(response);
}
)
//you then accept them as such
Route::post('/api/setSuccessMessage', 'API\SessionsController@setSuccessMessage');
//You can further use them as such in controller
function public test(Request $request) {
$request->get('message1');
$request->get('message2');
}
我将参考 axios official docs 作为 axios 请求参数
使用:
public static function setSuccessMessage(Request $request)
{
$key = $request->get('message');
$value = $request->get('message2');
session()->put($key ,$value);
}