我正在尝试使用ajax将两个变量传递给我的控制器。没有错误,但是当我在控制器中获取数据时,数据为空。
Web.php
Route::get('/donate/select-card', 'CardController@chooseCard')->name('select-card');
CardController.php
public function chooseCard()
{
$from = Input::get("fromAmount");
// $to = $request->input('toAmount');
dd($from);
}
'null'是这里的输出
Script.js
fromAmount = $(this).find('p span:nth-child(1)').text().split("₹ ")[1];
toAmount = $(this).find('p span:nth-child(2)').text().split("₹ ")[1];
$.ajax({
type:'GET',
url: '/donate/select-card',
data: { fromAmount : fromAmount, toAmount : toAmount }
});
我想要的是在控制器中包含fromAmount和toAmount。
谢谢。
这是来自网络的ajax数据:
答案 0 :(得分:0)
public function chooseCard(Request $request)
{
return $request->all();
}
**注入Request类
**请参阅开发工具的响应。
答案 1 :(得分:0)
那个很棘手:)
在HTML中,您有一个链接将此调用包装到ajax。搞砸了
<a href="/donate/select-card">
<button type="button" onclick="test123()">click here for ajax Call</button>
</a>
因此,单击此按钮会将您发送到“ / donate / select-card”,但不会越过ajax。 出于同样的原因,一旦尝试使用POST,您将获得:
此路由不支持GET方法。支持的方法:POST
href优先,当路由需要POST时,它是GET。
确保删除用于调用ajax调用的html周围的所有链接和默认行为,然后根据需要使用GET或POST。