Php 如何使用ajax请求将html表传递给laravel控制器?
如何使用ajax请求将html数组传递给laravel控制器? 在我看来,我确实喜欢以下内容:Php 如何使用ajax请求将html表传递给laravel控制器?,php,jquery,ajax,laravel-5.3,Php,Jquery,Ajax,Laravel 5.3,如何使用ajax请求将html数组传递给laravel控制器? 在我看来,我确实喜欢以下内容: <form> <table class="table table-striped border-top" id="modalTable"> <thead> <tr> <th&g
<form>
<table class="table table-striped border-top" id="modalTable">
<thead>
<tr>
<th>start-time</th>
<th></th>
<th>end-time</th>
<th>reserve</th>
</tr>
</thead>
<tbody id="change">
<tr>
<td name="startTime[]"></td>
<td></td>
<td name="endTime[]"></td>
<td name="reserved[]"></td>
</tr>
</tbody>
</table>
<input type="hidden" id="token" value="{{ csrf_token() }}">
</form>
在控制器中,
$request
和$\u POST
之间没有区别。两者都只返回ajax发送的表中的一列,但我需要所有列的值 你不能做你想做的事。您必须根据表数据的正确名称手动构造数组。#startTime
选择器不存在,因为它正在查找id为startTime
的元素,但您只有名为的元素
您可能会创建一个数组,如下所示:
var startTime = [];
$("[name='startTime[]]'").each(function () {
startTime.push($(this).text());
});
var endTime = [];
$('[name='endTime[]]'').each(function () {
endTime.push($(this).text());
});
var token = $('#token').val();
//No need for ajax setup if you're sending the token as a parameter
$.ajax({
url:'reservePrivateChat',
type:'post',
data:{ startTime:startTime,endTime:endTime,'_token':token},
通过数组,我的意思是:
#startTime
表示“具有id的元素”开始时间,这里没有这样的元素。您有名为startTime[]的元素,您应该改用这些元素。@apokryfos yes your right.TNX
public function reservePrivateChat(Request $request)
{
$startTime = $request->startTime;
print_r ($startTime);
$endTime = $_POST['endTime'];
print_r($endTime);
}
var startTime = [];
$("[name='startTime[]]'").each(function () {
startTime.push($(this).text());
});
var endTime = [];
$('[name='endTime[]]'').each(function () {
endTime.push($(this).text());
});
var token = $('#token').val();
//No need for ajax setup if you're sending the token as a parameter
$.ajax({
url:'reservePrivateChat',
type:'post',
data:{ startTime:startTime,endTime:endTime,'_token':token},