2017-03-31 7 views
-3

アヤックスにJSONを使用して送信、次のコード:Object.ToStringを() - > [オブジェクトのオブジェクト]

var geojson = new Object(); 
geojson["type"] = "FeatureCollection"; 
geojson["zone_type"] = "Zone"; 
$.ajax({ 
    url : url, 
    type : 'POST', 
    data : geojson, 
    dataType : 'json', 
}); 

しかし、私はコンソールに尋ねる「にGeoJSON」と私は要求を見ますネットワーク:

geojson = "[object Object]" 

実は、私は、オブジェクトを持っている必要があります。

geojson = {type:FeatureCollection,zone_type:Zone} 

は私べきではないのですか?

+0

あなたに非常に多くの@SLYceeありがとうござい 'データを試してみてください。JSON.stringify(にGeoJSON)'と'console.log(" geojson = "、geojson);' – SLYcee

+0

まあ、はい。ネットワークでは、これらはPOST要求のパラメータとして渡されます。その後、コンソールにオブジェクトが表示されます。あなたのコードでは常にconsole.log()を実行でき、これがコンソールに出力されることを忘れないでください。 – MarkSkayff

+0

私は問題を再現できません(少なくとも、あなたの[mcve]とは異なる 'processData:false'を設定しない限り)。私はJSONも見ないのですが、JSONを実際に送信しようとしていますか?(あなたの "答え" *しかし、それは "結果*で削除することは可能ですが、それはJSONテキストでは無効です).JSONとJavaScriptオブジェクトを混同していますか? – Quentin

答えて

0
var geojson = new Object(); 
geojson["type"] = "FeatureCollection"; 
geojson["zone_type"] = "Zone"; 
$.ajax({ 
    url : url, 
    type : 'POST', 
    data : JSON.stringify(geojson), 
    dataType : 'json', 
}); 

私はJSON.stringify(にGeoJSON)を追加する場合は確かに、私が正しく取得:

geojson = {"type":"FeatureCollection","zone_type":"warning_zone"} 

関連する問題