いくつかの入力フィールドを持つ基本的なフォームがあります。フォーム送信時にフォームデータをjsonファイルに保存したい。
フォームからのデータの形式は次のとおりです。
{"name":"Sree","email":"sree@hmail.com","phone":"123456789"}
contact.json という名前の既存の JSON ファイルがあります。
{
"info": [
{
"name":"Noob Here",
"email":"myemail@server.com",
"phone":"123456"
},
{
"name":"Newbie There",
"email":"hisemail@server.com",
"phone":"589433"
}
]
}
これは、データをjsonとして作成するために使用する関数です:
function submit_form(){
var data=(JSON.stringify($('form').serializeObject()));
return false;
}
$.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;
};
このコードを submit_form 関数に挿入しようとしました
$.ajax({
type: 'POST',
dataType: 'json',
url: 'contact.json',
data: data,
success: function(data) {
alert(data.message);
},
failure: function (data) {
alert('Please try again');
}
});
私はjsonが初めてで、これを修正する方法がわかりません。