0

仕事で使用するための非常にシンプルなツールを構築しようとしています。私は eBay で働いていますが、現在利用できるツールはその作業には扱いにくいものです。テキストと画像を比較して、売り手がお互いのコンテンツを盗んでいないことを確認するよう求められます. 私は eBay Trading API と、開発者アカウントの作成時に提供されたサンプルの HTML/CSS/Javascript コードを使用しています。最終的に達成したいのは、2 つのアイテムの写真と説明を並べて表示するシンプルなページです。ただし、現在、オークションの開始日を表示するために指定されたサンプル コードを編集しようとしているだけです。

私の質問はこれです: API からの応答によって値が決定される変数を追加しようとしています。これらの一部はサンプルで提供されていますが、独自var starttime = items.listingInfo.startTimeの変数を関数に追加して変数を HTML テーブルに追加すると、追加前に表示されていたものを含め、データが表示されません。残念ながら、私は JavaScript について初歩的な理解しか持っていないため、この質問を適切に表現しているかどうか、ましてや追加の構文を正しく理解しているかどうかさえわかりません。私は何を間違っていますか?

以下は、宣言された変数 ( starttime) を 1 つ追加し、HTML テーブルに 1 つ追加したサンプル テキストです。

<html>
<head>
<title>eBay Search Results</title>
<style type="text/css">body { font-family: arial,sans-serif;} </style>
</head> 
<body>
<h1>eBay Search Results</h1>
<div id="results"></div>

<script>
function _cb_findItemsByKeywords(root)
{
  var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || [];
  var html = [];
  html.push('<table width="100%" border="0" cellspacing="0" cellpadding="3"><tbody>');

  for (var i = 0; i < items.length; ++i)  
  {
    var item     = items[i];
    var title    = item.title;
        var viewitem = item.viewItemURL;
    var starttime = items.listingInfo.startTime;

    if (null != title && null != viewitem)
    {
      html.push('<tr><td>' + '<img src="' + pic + '" border="0">' + '</td>' + 
        '<td><a href="' + viewitem + '" target="_blank">' + title + '</a>' + starttime + '</td></tr>');
    }
  }
  html.push('</tbody></table>');
  document.getElementById("results").innerHTML = html.join("");
}
</script>

<!--
Use the value of your appid for the appid parameter below.
-->
<script src=http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.0.0&RESPONSE-DATA-FORMAT=JSON&callback=_cb_findItemsByKeywords&REST-PAYLOAD&keywords=iphone%203g&paginationInput.entriesPerPage=3>
</script>
</body>
</html>"
4

1 に答える 1

1

listingInfoが個々のアイテムのプロパティであり、それがプロパティを持つオブジェクトであると考える場合startTime、適切な構文は次のとおりです。

var item     = items[i];
var title    = item.title;
var viewitem = item.viewItemURL;
var starttime = item.listingInfo.startTime;

現在items、個々のアイテムではなく、アイテムの配列を参照しています。

アップデート

コメントいただいたURLから調べてみました。この特定の問題の解決策は次のとおりです。

var starttime = item.listingInfo[0].startTime;

それが役立つことを願っています。FAQ を確認してください。この質問は、このサイトの範囲外です (質問は非常に狭く、他の人の役に立たない可能性があります)。JavaScript についてさらに学ぶための情報源として、Mozilla Developer Networkをお勧めします。

于 2012-02-29T21:49:35.900 に答える