안녕하세요 저는 초보자 프로그래머입니다. Javascript를 사용하여 하이브리드 모바일 응용 프로그램에 Finding API를 사용하여 특정 키워드를 사용하여 이베이에서 항목을 찾으려고합니다. 나는 this really clear guide을 따라 갔지만 결과물 div에 아무것도 나타나지 않습니다. 나는 또한 웹 사이트에서 정확한 코드를 실행하려고했지만 여전히 결과가 없습니다. 나는 현장에서 정확한 생산 appID를 획득하여 입력했습니다. 여기 이베이 (Ebay) API 다음 키워드로 검색 도움이 필요하십니까?
이 코드입니다 :<script>
var url = "http://svcs.ebay.com/services/search/FindingService/v1";
url += "?OPERATION-NAME=findItemsByKeywords";
url += "&SERVICE-VERSION=1.0.0";
url += "&SECURITY-APPNAME=sample-sample-PRD-89a6113e8-f7a52044";
url += "&GLOBAL-ID=EBAY-US";
url += "&RESPONSE-DATA-FORMAT=JSON";
url += "&callback=_cb_findItemsByKeywords";
url += "&REST-PAYLOAD";
url += "&keywords=harry%20potter";
url += "&paginationInput.entriesPerPage=3";
url += urlfilter;
alert(url);
// Submit the request
s=document.createElement('script'); // create script element
s.src= url;
// Error received on the line below, "uncaught typeerror: cannot call method 'appendChild' of null"
document.body.appendChild(s);
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 pic = item.galleryURL;
var viewitem = item.viewItemURL;
if (null != title && null != viewitem) {
html.push('<tr><td>' + '<img src="' + pic + '" border="0">' + '</td>' +
'<td><a href="' + viewitem + '" target="_blank">' + title + '</a></td></tr>');
}
}
html.push('</tbody></table>');
document.getElementById("results").innerHTML = html.join("");
} // End _cb_findItemsByKeywords() function
// Create a JavaScript array of the item filters you want to use in your request
var filterarray = [
{"name":"MaxPrice",
"value":"25",
"paramName":"Currency",
"paramValue":"USD"},
{"name":"FreeShippingOnly",
"value":"true",
"paramName":"",
"paramValue":""},
{"name":"ListingType",
"value":["AuctionWithBIN", "FixedPrice"],
"paramName":"",
"paramValue":""},
];
// Define global variable for the URL filter
var urlfilter = "";
// Generates an indexed URL snippet from the array of item filters
function buildURLArray() {
alert("buildURLArray working");
// Iterate through each filter in the array
for(var i=0; i<filterarray.length; i++) {
//Index each item filter in filterarray
var itemfilter = filterarray[i];
// Iterate through each parameter in each item filter
for(var index in itemfilter) {
// Check to see if the paramter has a value (some don't)
if (itemfilter[index] !== "") {
if (itemfilter[index] instanceof Array) {
for(var r=0; r<itemfilter[index].length; r++) {
var value = itemfilter[index][r];
urlfilter += "&itemFilter\(" + i + "\)." + index + "\(" + r + "\)=" + value ;
}
}
else {
urlfilter += "&itemFilter\(" + i + "\)." + index + "=" + itemfilter[index];
}
}
}
}
} // End buildURLArray() function
// Execute the function to build the URL filter
buildURLArray(filterarray);
</script>
HTML : 두 개의 경고, 경고 (URL)를 urlfilter는 'undefined'and 경고 것을 제외한 모든 것을이 반환됩니다
<h1>eBay Search Results</h1>
<div id="results"></div>
("buildURLArray 작업"); 나타나지 않았다. Eclipse가 document.body.appendChild (s) 행에 대해 오류를 반환했으며 s이 null임을 제안했습니다. 코드의 대부분은 튜토리얼에서 나온 것이고 나는 왜 내가 같은 결과를 얻지 못하고 있는지 전혀 모른다.
안녕하십니까? 그것은 일했다! :-) –