2012-07-05 15 views
5

私はKnockout.jsを使用して自分のWebアプリケーション上で、次のエラーを取得していますを検索するためのオペレータの中で 'を使用することはできません問題は、「長さ」

Cannot use 'in' operator to search for 'length' 

マイコード:

$(document).ready(function() { 
     AjaxRequest(); 
    }); 

    function AjaxRequest() { 
     $.post("../../Api/DisabilitiesHandler.ashx?method=get", function (data) { 
      var viewModel = { 
       disabilities: ko.observableArray(data) 
      }; 

      ko.applyBindings(viewModel, document.body); 
     }); 
    } 

<table> 
    <tbody data-bind="template: { name: 'disabilitiesRowTemplate', foreach: disabilities }"></tbody> 
</table> 

<script type="text/html" id="disabilitiesRowTemplate"> 
    <tr> 
     <td>Name: 
      <input data-bind="value: Name" /></td> 
     <td> 
      Active <input type="checkbox" data-bind="checked: Active" /></td> 
    </tr> 
</script> 

そして、これは私のモデル

public class Disabilities 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public bool Active { get; set; } 
} 

であり、これは、Webサービスのコードである

context.Response.ContentType = "application/JSON"; 
DbsaDal.Entities.DBSAEntities db = new DbsaDal.Entities.DBSAEntities(); 
List<DbsaDal.Model.Disabilities> disabilities = DbsaDal.Entities.Disabilities.Get(db); 
context.Response.Write(new JavaScriptSerializer().Serialize(disabilities)); 

何をすべきかに関するご意見はありますか?私は私の問題を発見した

Uncaught TypeError: Cannot use 'in' operator to search for 'length' in [{"Id":1,"Name":"Blind","Active":false},{"Id":2,"Name":"Mute","Active":true}] Knockout.js:92 
+0

javascriptでそのエラーが発生していますか?その場合、ブラウザのデバッガは、エラーが発生している行を指摘します。エラーが発生している場所でコードを投稿できますか? –

+0

完全なエラーメッセージ、行番号とファイルを投稿してください – Esailija

+0

私は質問を更新しました。 Knockout.jsファイルでエラーが発生しています – Armand

答えて

5

disabilities: ko.observableArray(data) 

コードのこの作品は、

されている必要があります私は、ウェブ上でどこでも検索しましたし、何も

便利アップデート1を見つけることができません
disabilities: ko.observableArray(ko.utils.parseJson(data)) 
+4

また、$ .post関数にjsonレスポンスを期待していることを伝えると、jQueryはJavaScriptオブジェクトに自動的に解析します。 $ .post( "url"、function(data){}、 'json' ); ' http://api.jquery.com/jQuery.post/ –

関連する問題