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只發送一個字符串的屬性名稱。 –