Jsonp帮助打印阵列中的每一项

时间:2018-12-15 03:00:59

标签: javascript jquery json api yahoo

我早些时候发布了一个有关jsonp的雅虎拍卖Api的问题

这是数组的一个片段。

"Result": {
      "UnitsWord": [
        "example1",
        "example2",
        "example3",
        "example4",
        "example5"
      ]
},

这是我的代码

function changeText2(){
    var userInput = document.getElementById('userInput').value;
    $jsonurl = "https://auctions.yahooapis.jp/AuctionWebService/V2/json/search?appid="instert-yahooidhere"-&query=" + userInput;
	
$.ajax({
  type: 'GET',
  url: ($jsonurl),
  contentType: 'application/json',
  dataType:'jsonp',
  responseType:'application/json',
  xhrFields: {
    withCredentials: true
  },
  headers: {
    'Access-Control-Allow-Credentials' : true,
    'Access-Control-Allow-Origin':'*',
    'Access-Control-Allow-Methods':'GET',
    'Access-Control-Allow-Headers':'application/json',
  },
  success: function(data) {
    console.log(data);
	  $.each(data, function (i, test) {
	$('#howmany').append('<p><b>' + test["Result"]["UnitsWord"] + '</b> Was Found</p>');
    });
  },
  error: function(error) {
  
    console.log("Failed");
  }
});
}

我正在尝试做什么 包好了

<div id="howmany">
<p><b>example1</b> products found</p>
<p><b>example2</b> products found</p>
<p><b>example3</b> products found</p>
<p><b>example4</b> products found</p>
<p><b>example5</b> products found</p>
</div>

如果我做错了什么, 请告诉我。 或者至少将我引导到可以找到更多有关此信息的地方。

1 个答案:

答案 0 :(得分:1)

看起来Result是您的data的属性,而UnitsWordResult的属性,它拥有一个数组。因此,要遍历该数组,您需要:

$.each(data.Result.UnitsWord)

换句话说,data.Result.UnitsWord是您要彼此循环的数组。这将为您提供每次迭代的example_x字符串之一。

let data= {
   "Result": {
      "UnitsWord": [
        "example1",
        "example2",
        "example3",
        "example4",
        "example5"
      ]
    }
  }


$.each(data.Result.UnitsWord, function (i, test) {
	$('#howmany').append('<p><b>' + test + '</b> Was Found</p>');
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="howmany">