Я пытаюсь настроить свой Datatable на POST на содержимое его строк в свой PHP-скрипт, чтобы я мог хранить его в базе данных.Datatable.js + POSTing data PHP
У меня есть рабочая HTML-страница, которая, когда я нажимаю «+ Добавить сопоставление», появляется BS-модаль, и я могу добавить строку в datatable.
<script>
$(document).ready(function() {
var t = $('#parameters_config').DataTable();
$('#add_new_mapping').on('click', function() {
$('#add_field_mapping').modal('hide');
var wb_field = $("#add_field_mapping #wb_field").val();
var adobe_field = $("#add_field_mapping #adobe_field").val();
t.row.add([
adobe_field,
wb_field,
]).draw();
$('#add_new_field_mapping').trigger("reset");
});
});
</script>
Все это работает отлично. Теперь я хотел бы получить все строки данных и POST их к моему сценарию, чтобы я мог обрабатывать представленные данные и хранить их. До сих пор, я придумал на основе информации, это обеспечило:
<script>
$(document).ready(function() {
$('#parameters').submit(function(event) {
var table = $('#parameters_config').DataTable();
var dataToSend = table
.rows()
.data();
console.log('Data', dataToSend);
alert('There are '+dataToSend.length+' row(s) of data in this table');
$.ajax({
type: 'POST',
url: '{$this->homeURL}',
data: dataToSend,
dataType: 'json',
});
});
});
</script>
В моем окне консоли я вижу следующее вернулся на «dataToSend», но без каких-либо фактических данных!
[Array [2], контекст: Array [1], селектор: Object, Аякс: Object]
Где я буду неправильно?
Что такое '$ this', должно быть, здесь? – tadman
$ this-> homeURL ссылается на переменную в моем PHP-коде, она настроена на что-то вроде https://secure.workbooks.com. Это URL-адрес текущего скрипта. –
Правильно, но что он делает в середине файла JavaScript? – tadman