2016-04-01 18 views
1

JSノードに解析するとき、私はオブジェクトがあります。オブジェクトプロパティ名の変更

{"description":"Κλείσε τις βάνες","closeValves":["13/21","12/31","13/12","12/32"]}

と私はそれがこの

に変身 router.postにアヤックスとのJSにそれを取得瞬間をノードAに送信しています

{"description":"Κλείσε τις βάνες","closeValves[]":["13/21","12/31","13/12","12/32"]} ..

これは何が起こっているのですか? コール機能:

formEvent(json,'events/entry',valvescallback); 

と機能のAJAX:

function formEvent(data,module,next,e){//the request function 
    e=e||false; 

    console.log("form:",data) 
    if(e){e.preventDefault();} 
    var url = './'+module; // the script where you handle the form input. 

    $.ajax({ 
     type: "POST", 
     url: url, 
     data: data, 
     dataType:'json', 
     success: function (data) { 
      next(data); 
     }, 
     error:function (data) { 
      next(data) 
     } 
    }); 
} 
私は router.postを持っているノードのスクリプトでは、私はコメントで、この

let express = require('express'); let router = express.Router();

アップデートを必要としています

コメント2の更新:

データなしでは、この

{"description":"Κλείσε τις βάνες","closeValves":["13/21","12/31","13/12","12/32"]}

のようなテキストタイプの列にはpostgressのSQLから来て、私はJSONに変換し、それを解析するために、これを使用しています:

var json = jQuery.parseJSON(data.task); 
json.action = 'getValves'; 
json.test = json.closeValves;//test to see if it also changes name 

Iをこのような配列であるプロパティを変換することがわかります name:[1,2,3] --> name[]:[1,2,3]

私はconsole.logのAJAX関数内のデータは正しい形になっていますが、ポスト内では変化します。

+0

AJAX機能を投稿してください。 – hownowbrowncow

+0

私は更新しました.. – mrapsogos

+1

フォームからデータが来ていますか? –

答えて

0

私はそれを見つけました!答えはbody-parser NPMの使用の定義である:

app.use(bodyParser.urlencoded({ extended: false}));

あなただけの真の拡張プロパティを作成する必要があり、配列名が変更されません...ので、答えは

app.use(bodyParser.urlencoded({ extended: true}));

です
関連する問題