2016-09-28 13 views
0

ここでは、私は '$ .each'関数を使用して、私は値を取得していないJson result.Whenとしてデータセットを返しました。Jsonの結果からデータセットの値を取得する方法

これは私のJavascriptです:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> 
</script> 
<script> 
    // TODO: Replace with the URL of your WebService app 
    $(window).load(function() { 
    var tableName="customtable.Testing"; 
    alert("Script Running"); 
    $.ajax({ 
     type: "POST", 
     url: "/CMSPages/TestingService.asmx/GetAllCustomTableData", 
     data: "{ 'customTableName': '" + tableName + "' }", 
     dataType: "json", 
     contentType: "application/json; charset=utf-8", 
     success: function(data) { 
     var results = data.d; 
      $.each(results, function(i, result) { 
      alert(result.ItemID); 
      }); 
      }, 
      error: function (jqXHR, textStatus, errorThrown) { 
      alert(jqXHR.responseText);  
      } 
     }); 
    }); 
</script> 

そして、これは私のJSONレスポンスです:

{"d":"{\"NewDataSet\": \r\n[\r\n{\"Table\": \r\n[\r\n{\"ItemID\":8,\"ItemGUID\":\"5ef65845-1910-4f71-be3e-c2c0a1e47105 
\",\"ItemModifiedWhen\":\"\\/Date(1471582785000)\\/\",\"ItemOrder\":null,\"Email\":\"[email protected] 
.edu\",\"ItemCreatedWhen\":\"\\/Date(1471582785000)\\/\",\"ItemCreatedBy\":53,\"ItemModifiedBy\":53, 
\"FirstName\":\"Kewchang\",\"LastName\":\"Lee\"}\r\n]\r\n}\r\n]\r\n}\r\n"} 
+2

ただし、有効なJSONではありません。あなたのテストサービスは適切なJSONを出力する必要があります。 –

+0

data.dでJson.parseを呼び出してみましたか?あなたは 'var results = Json.parse(data.d)'を得るでしょうか? –

答えて

0

各funcationこれを試してみてください代わりに
for (var key in result) { 
    if (result.hasOwnProperty(key)) { 
     alert(key + " -> " + result[key]); 
    } 
} 
0

JSONの結果であると思わ配列ではありません。あなたがそれを反復しようとする前に、結果が実際に配列であるかどうかをチェックする必要があります。

if (Array.isArray(data.d)) { 
    $.each(data.d, function (i, result) { 

    }); 
} 
else { 

} 
+0

これは配列ではありません – sadasiva

関連する問題