2
我对JavaScript很陌生,无法找到解决方案。 我有以下代码。如何更改serializeObject输出格式?
<form class="edit-task-form">
<legend>Create Task</legend>
<label>Task</label>
<input type="text" name="task" />
<hr />
<button type="submit" class="btn">Create</button>
</form>
var taskDetails = $(ev.currentTarget).serializeObject();
var task = new Task;
task.save(taskDetails, {
success: function(task) {
alert(task.toJSON());
}
});
console.log(taskDetails);
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if(o[this.name] !==undefined) {
if(!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
}
else {
o[this.name] = this.value || '';
}
});
return o;
输出为:对象{任务: “fasdfasd”}
我想它是:对象{ “任务” :“fasdfasd”}
如何让“任务”出现在引号中?
非常感谢!
大卫
你并不需要手动的报价添加到对象的属性名称,如果转换成JSON它会自动出现,如果使用对象发送数据,无论底层api只发送一个字符串的属性名称。 –