Laravel Axios-重定向到带有数据的控制器
我试图用数据重定向到控制器,并在控制器中使用该数据(我使用的是laravel) 问题是Laravel Axios-重定向到带有数据的控制器,laravel,vue.js,axios,Laravel,Vue.js,Axios,我试图用数据重定向到控制器,并在控制器中使用该数据(我使用的是laravel) 问题是$request['ProductId']为null 这意味着Axis请求在没有数据的情况下被重定向 注:我不想返回数据,我只想使用控制器中的数据。POST-使用axios(axios.POST(“/buy”,{..)发出的请求可能是准确的 但是GET-重定向(window.location=“/buy”)将不包含任何数据。由于这是GET-请求,您需要将数据添加到uri或查询字符串中,如下所示:/buy/:Pr
$request['ProductId']代码>为null
这意味着Axis请求在没有数据的情况下被重定向
注:我不想返回数据,我只想使用控制器中的数据。POST
-使用axios(axios.POST(“/buy”,{..
)发出的请求可能是准确的
但是GET
-重定向(window.location=“/buy”
)将不包含任何数据。由于这是GET
-请求,您需要将数据添加到uri或查询字符串中,如下所示:/buy/:ProductId
现在Route::get('/buy','ShoppingController@create“);
将始终得到一个空的$request
我不确定你想实现什么,所以我不能重写你的代码,但是如果你删除window.location=“/buy”
,你至少会看到控制台输出。如果我理解正确,你的问题是你看不到“dd”的返回
你的console.log在窗口之后是正常的!而且axios没有dd!你必须返回才能看到答案
控制器
public function create(Request $request)
{
return $request['ProductId'];
}
vue先生
在你的路线上
/* web.php */
Route::post('/buy','ShoppingController@create');
基本上,您不能同时使用这两个具有不同路由方法的创建函数,同时希望获取产品id。您的post请求将在这种情况下起作用,但get请求不会。这就是为什么dd($request['ProductId'))为空。无论何时使用get请求,都不能将请求用作参数。$request作为参数仅用于post请求
如需进一步解释,请阅读laravel文件
因此,为了解决您的问题,您可以删除此行
window.location = "/buy";
并通过以下方式在控制器中显示您的post数据
public function create(Request $request) {
dd($request->all())
}
添加路线plz并在.Vuerydd($request->ProductId);
而不是不可能的“dd”,您是否需要return$request['ProductId']
和.vueconsole.log(响应);
但是要删除您的窗口。location
查看您的登录控制台!和路由器中的remove get!删除此窗口。location=“/buy”您在ajax调用中获取dd数据,但在获取数据时,您是window.location=“/buy”这样做的
/*js codes*/
Submit : function(){
axios.post('/buy',{
ProductId : this.id,
//ProductId : "1";//
ProductAmount : this.temporaryamount
//ProductAmount : "12000";//
})
.then(function (response) {
console.log(response);
//Remove window.location, or if you dont remove you dont see console.log!
//window.location = "/buy";
})
.catch(function (error) {
console.log(error);
})
}
/* web.php */
Route::post('/buy','ShoppingController@create');
window.location = "/buy";
public function create(Request $request) {
dd($request->all())
}