2016-04-14 5 views
0

問題があります。私はJSON.stringifyを使用していますが、私のスクリプトは依然としてjsonオブジェクト全体ではなく「{」のみを送信します。これは私がそれを行う方法です:私のスクリプトは、「{」だけ提出することを、私は見コンソールでJavascriptはjsonの代わりに1つのカッコを提出します

var value = {}; 
value['param_1_'] = {}; 
value['param_1_'].senderId = "de109s1e-1215-416a-98c7-6212e55da36a"; 
value['param_1_'].originatorId = "be30s61e-2s8d-4f61-9sc1-621fed5cw36a"; 
value['param_1_'].endpointId = "list-of-items"; 
submitform.createChild({ 
    tag: "input", 
    type: "text", 
    cls: "x-hidden", 
    name: "data", 
    id: "data", 
    value: JSON.stringify(value) 
}); 
submitform.dom.submit(); 

の代わりに、valueオブジェクトを文字列化。何故ですか?

+1

この文字列化されたjsonをテキスト入力に最初に入力すると、その文字列にある二重引用符が入力タグの混乱の原因となる場合があります。 '

+0

いいえ、私はちょうどコードで行います。私は手動ではしません。 – Jacobian

+0

は問題ではないかもしれません。私の理解によれば、あなたはここに新しい 'input'を作り、その値を文字どおりのjsonとして設定しています。あなたが私のことを理解してくれることを願います入力タグの中に二重引用符を含む値は、最初の二重引用符を見つける際に破損することがあります。 –

答えて

2

問題は文字列化されたJSONの二重引用符であるため、解決する方法の1つはJSON.stringify(value)encodeURIComponent関数を使用することです。その後、もう一方の端でJSONを解析する前に、decodeURIComponentを使用する必要があります。

関連する問題