Скажем, у меня есть этоткак превратить HTML атрибутов данных в JSON
<div id="x" data-id='1' data-prop1='peace' data-prop2='out'>Text</div>
в JQuery я могу получить данные, как так
var row = $('#x')
var x = {
id : row.data('id'),
prop1: row.data('prop1'),
prop2: row.data('prop2'),
};
это будет способ удобнее, если бы я мог сделать что-то вроде это
var row = $('#x');
var x = row.data.serialize();
Кто-нибудь знает, как это сделать?
EDIT:
Я забыл упомянуть, что уаг х = row.data() будет делать эту работу, но есть все это JQuery барахло там.
Я хочу отправить данные как часть запроса ajax, как только у меня получится.
например,
remove: function (row, g, o) {
if (confirm(o.deleteConfirmation)) {
var url = o.deleteAction;
var data = row.data();
$.ajax({
url: url,
type: 'POST',
// THIS WORKS
// data: {
// id: row.data('id'),
// applicationId: row.data('applicationId')
// },
// THIS DOESN'T
data : data,
success: function (result) {
g.html(result.Html);
methods.rebind(g, o);
}
});
}
}
EDIT: Мой 'Рабочий' Решение
Я получил это работает, убивая JQuery {некоторое число} вещь из данных объекта
первый я это от here
if (!String.prototype.startsWith) {
String.prototype.startsWith = function(str) {
return !this.indexOf(str);
};
}
Тогда я должен был сделать это:
var rowData = row.data();
var data = {};
for(var propertyName in rowData) {
if(!propertyName.startsWith('jQuery'))
data[propertyName] = rowData[propertyName];
}
Можете ли вы подробнее рассказать о том, что вы подразумеваете под «это не работает»? – Blender
должен быть 'id =" x "' not 'id =" # x "' – zzzzBov
не работает == когда событие click запускается (используя chrome btw) вместо POSTing в deleteAction Uri с данными в POST-страница, в которую входит страница, и бесконечный цикл, переиздающий событие POST. – Peter