У меня очень простой звонок на какой-нибудь сервер, использующий jQuery, чтобы облегчить мне жизнь.
popup.js
var url = "https://svcs.ebay.com/services/search/FindingService/v1";
url += "?OPERATION-NAME=findItemsByKeywords";
url += "&SERVICE-VERSION=1.0.0";
url += "&SECURITY-APPNAME=LuisDavi-son19975-PRD-27f3a1ec0-de5a37b4";
url += "&GLOBAL-ID=EBAY-US";
url += "&RESPONSE-DATA-FORMAT=JSONP";
url += "&REST-PAYLOAD";
url += "&keywords=4%20Apple%20iPhone%20Model%20A1332%20FOR%20PARTS%20ONLY";
var EbayPriceS = 0;
var SeRiCount = 0;
$(document).ready(function() {
$.ajax({
type: "POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
dataType: 'jsonp',
url: url,
crossDomain : true,
xhrFields: {
withCredentials: true
}
})
.done(function( root ) {
SeRiCount = root.findItemsByKeywordsResponse[0].searchResult[0]["@count"];
alert(SeRiCount);
})
.fail( function(xhr, textStatus, errorThrown) {
alert(xhr.responseText);
alert(textStatus);
});
});
По сути, все сводится к возвращению мне некоторых данных из eBay, и дело в том, что это работает, если я использую этот код в каком-то локальном HTML-файле. (У меня есть предупреждение, которое показывает SeRiCount
значение)
Однако, если я попробую запустить ту же самую вещь из расширения Chrome, я не получу ту же самую вещь. Я получаю ответ об ошибке. И мой вопрос: почему?
manifest.json
{
"manifest_version": 2,
"name": "Bid Support Extension",
"description": "This extension supports the adoption of bid resolution when buy the product.",
"version": "1.0",
"permissions": [
"https://svcs.ebay.com/*"
],
"browser_action": {
"default_icon": "icon.png"
},
"content_scripts": [
{
"matches": ["https://www.shopgoodwill.com/*", "https://www.ebay.com/sch/i.html?_from=*"],
"js": ["jquery.min.js", "popup.js"]
}
]
}
Как видите, в файле manifest.json
тоже ничего не происходит, и когда я получаю журнал ошибок, он говорит следующее:
Я что-то упустил? Должен ли я включить некоторые вещи в manifest.json
или я просто не могу звонить с расширения Chrome на этот сервер?