我是Laravel的新手,我尝试使用post方法从ajax中传递数据。
我的控制器试图获得值,所以我使用返回响应来显示结果,但它始终是空的。
这是我的代码:
<script>
$(function () {
var tempsReal = 'matin';
var dt = new Date($.now());
var hs = dt.getHours();
var d = new Date();
d.setHours(12);
if ((dt.getHours() >= d.getHours()))
tempsReal = 'soir';
$('#confirm').prepend('Marquer votre présence du : <strong>' + tempsReal + '</strong>');
$(document).on('submit', '#frm', function (e) {
e.preventDefault();
.
$ajax({
method: $(this).attr('method'),
url: $(this).attr('action'),
data: {tempsReal: tempsReal},
//data: $(this).serialize(),
dataType: "json"
})
});
})
</script>我在我的控制器里试过这个,但是它显示:{"temps":null}
public function store(Request $request)
{
$this->tempsReal = $request->input('tempsReal');
return Response::json([
'temps' => $this->tempsReal,
]);
}我也经常看到:{"temps":null}
public function store()
{
$this->tempsReal = request()->get('tempsReal');
return Response::json([
'temps' => $this->tempsReal,
]);
}这是表格:
<div class="container" id="RappelPres" style="
width: 400px;
height: 200px;
position: absolute;
top: 280px;
left: 500px;
border: 1px #a5a3a2 solid;">
<div style="background-color: #42b43b;width:100%;height:40px;position: absolute ;left:0px">
<form method="POST" action="{{ url('new') }}" style="text-align:center;" role="form" id="frm" >
{{ csrf_field()}}
<button class="btn" id="confirm" type="submit" style="background-color:#42b43b;color: white;width:100%;height:100% "></button>
</form>
</div>
<br>
<br>
<hr>
<div class="container" style="width:98%">
<div class="alert alert-success alert-dismissible hidden">
Pésence marqué avec succès.
</div>
</div>
<div class="alert alert-danger alert-dismissible hidden" role="alert" style="width:98%">
</div>
</div>我想知道问题在哪里,我如何解决它!
发布于 2017-09-09 18:52:32
检查开发人员控制台和方法中通过Ajax发送的数据。如果方法是' get‘,那么由于您以JSON的形式发送有效负载,那么laravel无法从请求中获得'tempsReal’,如果请求方法是'POST‘,并且发送的数据包含{ "tempsReal":“}”,那么输出应该包含期望值。
https://stackoverflow.com/questions/46132988
复制相似问题