2017-10-25 21 views
-1

JSONデータをHTML要素に動的に配置したいと考えています。私はデータセットをループしていますが、ループ内には入りません。助けてください。JSONデータをHTML要素に追加

$.ajax({ 
    type: "POST", 
    url: '<%= ResolveUrl("~/Menu.asmx/MasterMenu")%>', 
    data: [], 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(response) { 
    //var dataset = JSON.stringify(response.d); 
    var dataset = response.d; 
    alert(dataset); 
    debugger; 

    for (var i = 0; i < dataset.length; i++) { 
     alert(dataset[i].MENU_NAME); 
    } 

    // $.each(data, function (key, value{ <- this is wrong 
    $.each(response.d, function(i, item) { 
     alert("in"); 
     $("#menuDynamic").append("<li class='treeview'> <a href='#'> <i class='fa fa-dashboard'></i> <span>" + item.MENU_NAME + "</span> <span class='pull-right-container'><i class='fa fa-angle-left pull-right'></i> </span></a> </li>"); 
    }); 
    }, 
    error: function(response) { 
    alert(response.responseText); 
    alert(response.statusText); 
    } 
}); 
+2

を解決しました。あなたはまったくそれをデバッグしようとしましたか?リクエストは送信されますか?それは成功ですか?レスポンスは何ですか?コンソールにエラーがありますか?私たちがあなたを助けるのを助けてください。 –

+0

成功したデータはJSON文字列formateで取得されます。 –

+0

多分あなたは 'alert'の代わりに' console.log'を使うことができます。あなたの開発に役立つでしょう –

答えて

0

あなたの成功にこのラインを追加してください。あなたの応答はJSONではないかもしれません。

response = $.parseJSON(response); または response = JSON.parse(response);

+0

私はそのレスポンスオブジェクトをストリング化して、要素にデータを置く必要があります –

+0

それぞれが単一チャレーターを表示するよりも、ループ –

+0

あなたの応答を解析することで問題は解決しました。 – Sadhu

0

はい、これは動作していない任意の数の理由があるかもしれません

$.ajax({ 

      type: "POST", 
      url: '<%= ResolveUrl("~/Menu.asmx/MasterMenu")%>', 
      data: [], 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 

      var data = JSON.parse((response.d)); 
       //var dataset = JSON.stringify(response.d); 
       //var dataset = $.parseJSON(response); 

       debugger; 


       $.each(data, function (i, item) { 

        $("#menuDynamic").append("<li class='treeview'> <a href='#'> <i class='fa fa-dashboard'></i> <span>" + item.MENU_NAME + "</span> <span class='pull-right-container'><i class='fa fa-angle-left pull-right'></i> </span></a> </li>"); 

       }); 
      }, error: function (response) { 
       alert(response.responseText); 
       alert(response.statusText); 

      } 

     }); 
+0

が解決されますが、まだ 'alert'を使用しています –

+0

警告はエラーまたは結果をチェックするためのものです。 –

+0

私はそれを知っています。しかし、 'console.log'が何をしているのか知っていますか?同じことを、ほんの一握りで、より良く、控えめな方法で行います。 'アラート'は先史時代です。 –

関連する問題