2016-05-08 2 views
1

だから私はそれの内部属性の束を持つオブジェクトを追加しようとしています掲載されていません。JSONは正しく

これは私が前のオブジェクトを掲示する$ .post

({"fname" : fname, 
      "lname" : lname, 
      "gender" : gender, 
      "traits" : { 
      "iq" : intellect, 
      "height" : height, 
      "speed" : speed, 
      "weight" : weight, 
      "stamina" : stamina, 
      "toughness" : toughness 
      }, 
      "homeState" : homeState, 
      "country" : country 
     }); 

にしようとしているオブジェクトで、すべてが正常に動作します。私はobj.traits.iqを実行することができ、必要な正確なiqを返します。インスペクタを見ると、 "特性"がオブジェクトとして現れます。

問題は、私はこの機能でそれを投稿した後

$.post(url, obj, function(data){ 
console.log(data);}) 
} 

を開始したオブジェクトが転記されますと、私はそれにアクセスすることができますが、それはフォーマットするのはすべて奇妙です。その代わりに、それはむしろacccessibleオブジェクトとして表示より等traits[iq]: 100, traits[height]: 5'6 ,,として示す "traits": Object;として示す形質の は、それだけで自動的にそのフォーマット内のすべての特徴を示しています。私は間違って何をしていますか?私は何を見上げるべきか、なぜそれが起こっているのかを知らない。

これが原因となる問題を正しく返すAPI内の他のオブジェクトは、その「形質が」これは私はAPIを中心に書かれているすべての機能を引き起こしなど"traits":object、というよりもtraits[iq]: 100 traits[height]: 5'6、として表示場所があるということです私が追加する新しいオブジェクトでは動作しません。

API情報:

例要求

POST /apikey/players HTTP/1.1 
Accept: application/json 
Content-Type: application/json 
Host: -------- 

{ 
    "fname": "Steve", 
    "lname": "Harley", 
    ... 
} 

例応答:ポストは、新しいidプロパティを持つオブジェクトを返すことになっている

APIはJSONを期待するように見えます
HTTP/1.1 201 Created 
Content-Type: application/json; charset=utf-8 
Date: Fri, 10 SEPT 2014 12:24:28 GMT 

{ 
    "id": 11, 
    "fname": "Steve", 
    "lname": "Harley", 
     ... 
} 
+1

どのように投稿されたデータを読んでいますか、いくつかのコードを見てみましょう。 – Musa

+0

このポストコールのサーバーサイドコードを表示してください –

+0

ああ、ええ、問題は私がサーバーのサイドコードを制御しないことです。それは私のAPIではありません、あなたはエラーが彼らの終わりにあると思いますか? – Scriptomaniac

答えて

1

これはあなたが送るものではありません。
あなたはJSONにデータをエンコードする必要がJSONを送信し、いくつかのAPIは、我々は要求で指定したどの形式に応じて、私たちにdiferent形式で応答を送信することができます

$.post({ 
    url: url, 
    data: JSON.stringify(obj), 
    contentType: 'application/json', 
    success: function(data){ 
     console.log(data); 
    } 
}); 
+0

であなたにムーサそれを返すにそれがプレイヤオブジェクトを追加するにいくつかのAPIドキュメントを編集 - 助けてくれてありがとう – Scriptomaniac

0

をSEに(APIのこのタイプを容易にすることができます例えばASP.NETで行われます)。あなたはこのように、JSONとしてdataTypeとパラメータを指定して明示的にしようとしたことがありますか?

$.post(url, obj, function(data) { 
    console.log(data); 
}, "json"); 
関連する問題