2016-07-04 4 views
0

私はいくつかのJSONを取得し、応答に.eachを実行しようとしています。私はこのオブジェクトでそれを行う方法がわかりません...私はタイトルとSysIDを取得しようとしています。jQuery .each()このオブジェクトでの使用方法

enter image description here

は、ここに私のJSです:

 var siteURL = _spPageContextInfo.webAbsoluteUrl;; 
    $.ajax({ 
     url: siteURL + "/content/_api/web/lists/getbytitle('topsupportarticles')/items", 
     method: "GET", 
     headers: { "Accept": "application/json; odata=verbose" }, 
     success: function (response) { 
      if (response.d.results.length > 0) { 
      console.log(response); 
        //This section can be used to iterate through data and show it on screen .each should be here 
        console.log(response.d.results[0].Title); 
        $(".js-top-support").html("<li><a href=\"/pages/snDetails.aspx?articleID=KB0010606&sysID=" + response.d.results[0].SysID + 
        "\" class=\"js-top-support-articles\">" + response.d.results[0].Title + "</a><div class=\"x-editable-menu\"><span class=\"btn-edit\"><span class=\"icon-wrench\"></span></span></div></li>"); 
      } 
     }, 
     error: function (response) { 
      alert("Error: " + response); 
     } 
    }); 

すべてのヘルプは高く評価され...

+1

配列ではありません。あなたはそれをすることはできません。 –

+1

for(var i = 0; i

答えて

1

  1. JSON.parse()メソッドを使用すると、文字列を有効なjsonとして解析できます。
  2. 有効なjson としてjson文字列を自動的に解析できるdataType:"json"を使用してください。

は私にとって第二のアプローチは、より良いです。

$.ajax({ 
    url: siteURL + "/content/_api/web/lists/getbytitle('topsupportarticles')/items", 
    method: "GET", 
    headers: { 
    "Accept": "application/json; odata=verbose" 
    }, 
    dataType:"json", //<------------------------ ADDED DATATYPE HERE 
    success: function(response) { 
    if (response.d.results.length > 0) { 
     console.log(response); 
     //This section can be used to iterate through data and show it on screen .each should be here 
     console.log(response.d.results[0].Title); 
     $(".js-top-support").html("<li><a href=\"/pages/snDetails.aspx?articleID=KB0010606&sysID=" + response.d.results[0].SysID + 
     "\" class=\"js-top-support-articles\">" + response.d.results[0].Title + "</a><div class=\"x-editable-menu\"><span class=\"btn-edit\"><span class=\"icon-wrench\"></span></span></div></li>"); 
    } 
    }, 
    error: function(response) { 
    alert("Error: " + response); 
    } 
}); 

をしかし、あなたは、あなたがここでresponse.d.results[0]を使用することができますが、1つのオブジェクトのみを持っている場合はそうでない場合は、注意して配列内のオブジェクトを反復するforループまたは$.each()を使用する必要があります。だから、あなたはこれを行うことができます。側として


あなたはここで2つのセミコロン持っている点に注意してください。

var siteURL = _spPageContextInfo.webAbsoluteUrl;; 
0

あなたはjsfiddleかcodepenにあなたのコードをアップロードする場合、それが良いだろう。

これを試してください:あなたはこれらの2つのいずれかを選択することができます

var results = response.d.results; 

jQuery.each(results, function(key,value) { 
    console.log(key); 
    console.log(value); 
    var sysid = value.SysId; 
    var title = value.Title; 
}); 
関連する問題