laravel simple axios with argument

喜欢而已 提交于 2021-02-08 07:45:27

问题


I'm trying to set axios request but always getting missing argument, but not sure how can I pass it can someone explain why this wont work?

my route: (web.php)

Route::post('/api/setSuccessMessage', 'API\SessionsController@setSuccessMessage');

my controller: (Controllers/API/SessionsController.php)

class SessionsController extends Controller
{
    public static function setSuccessMessage($key, $value)
    {
        session()->put($key ,$value);
    }...

and my vueJS axios call (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);
            })
        },

回答1:


Use :

 public static function setSuccessMessage(Request $request)
 {
     $key = $request->get('message');
     $value = $request->get('message2');

     session()->put($key ,$value);
 }



回答2:


If you want to send the data as a part of your request body you can do so like

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');

If you wish to send the data as a request params (everything after ? in the url) you can do so like this

 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');
}

I'll reference axios official docs for the axios request params



来源:https://stackoverflow.com/questions/48702521/laravel-simple-axios-with-argument

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!