$ 3.6

2012-03-26 16 views
2

は私が

{"DataList": 
    {"Data":[ 
    {"@attributes":{"description":"FGFGFGH","code":"FGFGFGH"}}, 
    {"@attributes":{"description":"UIS default relying party","code":"UIS"}}, 
    {"@attributes":{"description":"MDEx Healthcare Portal","code":"MDE"}}, 
    {"@attributes":{"description":"VBK","code":"VBK"}}, 
    {"@attributes":{"description":"Omnicare","code":"OC"}}, 
    {"@attributes":{"description":"MDEX","code":"MDEX"}}, 
    {"@attributes":{"description":"Bank of America","code":"BOA"}}, 
    {"@attributes":{"description":"LDAP","code":"LDAP"}}, 
    {"@attributes":{"description":"JetBlue","code":"JB"}}, 
    {"@attributes":{"description":"Digital Signature Demo Application","code":"DEMODS"}} 
     ] 
    } 
} 

以下のようにJSONを持っていると私は上記のコードは正常に動作している

$.each(response, function(i, DataList) { 
       $.each(DataList,function(j,Data){ 
        var finalObj = [email protected]; 
        options += '<option value="' + finalObj.code + '">' + finalObj.description + '</option>'; 
       }); 
       $("#relyingpartyall").html(options); 
      }); 

選択ボックスのオプションを作成するためにjqueryのコードの下にしていますFirefox 3.6では、firefox 10,11、chrome、safariで動作していないため、次のエラーが発生します。

Firefox 11 : can't convert AttributeName to string ,var finalObj = [email protected]; 

     Chrome : Unexpected Identifier @ line "options += '<option value="' + finalObj.code + '">' + finalObj.description + '</option>';" 

誰でもこの問題についてお手伝いできますか?

答えて

5

次のように試してみてください: `{ "DataListコントロール":私は タイプ1以下のような二つの異なる応答を取得しています

var relyingpartyall = $('#relyingpartyall'); 
relyingpartyall.empty(); 
$.each(response.DataList.Data, function(i, item) { 
    var attributes = item["@attributes"]; 
    relyingpartyall.append(
     $('<option/>', { 
      value: attributes.code, 
      html: attributes.description 
     }) 
    ); 
}); 
​ 
+0

var finalObj = Data["@attributes"]; 

または直接単一$.eachのデータアレイにアクセス:{"Data":{"Data":{"Data":{"Data":{"Description": "FGFGFGH"、 "code": "FGFGFGH"}}}} Type 2: { [ {"@attributes":{"descri {"@attributes":{"description": "UISデフォルトの依拠当事者"、 "コード": "UIS"}}}} ' :" FGFGFGH "、" code ":" FGFGFGH " 第2のタイプのurコードは正常に動作しますが、最初の応答では動作しません。 :( –

+0

@TechieSathish、はい、最初の例では 'Data'が配列ではないので動作しません。プロパティを使用して複数の項目を表現するのは難しいです。この場合、元のループを保持するか、 JSONの世代を制御することで、常にデータを配列として持つことができるようになります。 –

+0

json_encode PHP関数を使用して生成した応答です。 –

関連する問題