2017-02-17 10 views
0

json配列を返すWebサービスを作成しました。ようにスコープ変数を表示している $ scope.getAllGroups =関数()クライアント側BATARANGで {C#Webサービス配列をAngularjsで処理できません

var Parameters = { "P_ClientID": 1 }; 
    $http.post("/SMS/getAllGroups", Parameters) 
    .then(function success(response) { 
     $scope.received = response.data; 
     $scope.names = [{ "name": "G1", "value": "1" }] //Just for test purpose 
    }) 
} 

List<ValPair> result = _service.getAllGroupsTypes(P_ClientID); 
     var jsonSerial = new JavaScriptSerializer(); 
     var jsonResult = jsonSerial.Serialize(result); 
     return Json(jsonResult, JsonRequestBehavior.AllowGet); 

クライアント側コード:以下の関数は、リスト内のデータを返し

received: [{"Key":"Default Group","Value":"1"}] 
names: 
    [ { 
     name: G1 
     value: 1 
    } ] 

Angularは、$ scope.receivedの結果を表示しないng-repeatの$ scope.namesを処理しています。どちらも配列であるため、 "names"はdbから取り出されたハードコードされたものです。

+0

あなたがデータを解析しましたか? '$ scope.received = JSON.parse(response.data)' –

+0

ありがとうございます。はい、私はあなたが示唆したもの – user3513192

答えて

0

ただ、このようにコードを変更します。

var Parameters = { "P_ClientID": 1 }; 
$http.post("/SMS/getAllGroups", Parameters) 
.then(function success(response) { 
    $scope.received = JSON.parse(response.data); 
    $scope.names = [{ "name": "G1", "value": "1" }] //Just for test purpose 
}) 

出力は次のようになります。

received: [ 
    { Key:"Default Group", 
     Value:"1"} 
] 
// 
names: 
[ { 
    name: G1 
    value: 1 
} ] 
関連する問題