使用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扩展程序向此服务器拨打电话?