2017-10-25 3 views
0

Google ChromeブラウザでJSONオブジェクトをフォーマットする際に問題があります。私は、サンプルコードを書いた:ブラウザでAJAXによるJSON送信をフォーマットする

 

    var sendData = { 
     'flag': 1, 
     'sort': { 
      'imie_nazwisko': 'asc' 
     }, 
     'where': { 
      'global_percent': 0, 
      'analityk': ["Dariusz Doda", "Arkadiusz Garbarczyk"] 
     } 
    }; 

ベローは、ブラウザの検査官からの画面です:

Data in browser

全てはAJAX methodesで正しい場合、私はそれを添付してくださいするには:

 

    $.ajax({ 
     url: '/admin/setData', 
     type: "POST", 
     dataType: 'json', 
     data: sendData, 
     success: function (data) { 
      done(data.MESSAGE); 
     }, 
     error: function(data) { 
      console.log(data); 
     } 
    }); 

私の意見では、サーバーに行くコードはちょっと違うものでした。いくつかのアドバイス何が間違っている?

+1

を?あなたは何か物を作ってどこかに送った以上に何も言わなかった。 –

+0

私はここに何か間違っているとは思わない。 Chromeが表示しているデータは、 'sendData'オブジェクトとまったく同じ形式で、異なる規約でのみ表示されます。 –

+1

プレーンなJavaScriptオブジェクトを使用し、JSON.stringifyを使用して送信時に変換します。 – MB34

答えて

1

あなたが必要です:$アヤックス()関数で

var sendData = { 
    flag: 1, 
    sort: { 
    imie_nazwisko: "asc" 
    }, 
    where: { 
    global_percent: 0, 
    analityk: ["Dariusz Doda", "Arkadiusz Garbarczyk"] 
    } 
}; 

セット::

があなたのオブジェクトを宣言しそう

data: JSON.stringify(sendData), 
contentType: "application/json;charset=UTF-8", 

を、あなたはJSONオブジェクトを送信することができます。

enter image description here

このデモを参照してください:あなたが抱えている問題は何

var sendData = { 
 
    flag: 1, 
 
    sort: { 
 
    imie_nazwisko: "asc" 
 
    }, 
 
    where: { 
 
    global_percent: 0, 
 
    analityk: ["Dariusz Doda", "Arkadiusz Garbarczyk"] 
 
    } 
 
}; 
 

 
$.ajax({ 
 
    url: 'https://jsonplaceholder.typicode.com/post', 
 
    type: "POST", 
 
    dataType: 'json', 
 
    data: JSON.stringify(sendData), 
 
    contentType: "application/json;charset=UTF-8", 
 
    success: function(data) { 
 
    done(data.MESSAGE); 
 
    }, 
 
    error: function(data) { 
 
    console.log(data); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

関連する問題