4

いくつかの入力フィールドを持つ基本的なフォームがあります。フォーム送信時にフォームデータを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が初めてで、これを修正する方法がわかりません。

4

1 に答える 1

4

私の知る限り、データをローカル Json に保存することは、純粋な JavaScript または jquery では不可能です。サーバー側で json を保存する場合は、java や php などのサーバー側プログラミングを使用します。それ以外の場合は、クライアント側に HTML5 を使用します。

アルンの提案通り

于 2013-01-29T12:09:30.757 に答える