0
ajaxリクエストを使用してhtml配列をlaravelコントローラに渡すにはどうすればよいですか? 私は私の見解では以下のように行った:ajaxリクエストを使用してlaravelコントローラにhtmlテーブルを渡すには?
<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>
とAjaxのコードは以下の通りです:
<script>
$(document).on('click','.btn',function(){
var startTime = $('#startTime').text();
//alert(startTime);
var endTime = $('#endTime').text();
//alert(endTime);
var token = $('#token').val();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
})
$.ajax
({
url:'reservePrivateChat',
type:'post',
data:{startTime:startTime,endTime:endTime,'_token':token},
success:function()
{
alert('success');
},
error:function()
{
alert('error');
}
})
});
</script>
とコントローラで、私は以下のように行った:
public function reservePrivateChat(Request $request)
{
$startTime = $request->startTime;
print_r ($startTime);
$endTime = $_POST['endTime'];
print_r($endTime);
}
コントローラではありませんがあります$request
と$_POST
の違い。どちらもajaxによって送信されたテーブルの1つのカラムだけを返しますが、カラムのすべての値を返します。
を私は意味配列によって:
'#startTime'は、 "ID **を持つ要素**" 開始を意味し、時間は、あなたはそのような要素はここにありません。あなたは** name ** startTime []を持つ要素を持っています。代わりにそれらを使用する必要があります。 – apokryfos
@apokryfos yeahあなたの権利.NX –
答えて
あなたは何をしようとすることはできません。 ののテーブルデータの名前に基づいて、配列を手動で構築する必要があります。
#startTime
セレクタは存在しません。これはidがstartTime
の要素を検索していますが、という名前のstartTime[]
の要素しかありません。次のように、おそらく配列を作成します。
出典
2017-07-09 08:43:48 apokryfos
関連する問題