Первый раз, используя сайт, чтобы задать вопрос. Я новичок в расширениях Chrome, поэтому я уверен, что делаю какую-то глупую ошибку. Я заранее извиняюсь.Хром Расширение почтовый запрос не отправляет данные
Я пытаюсь захватить URL-адрес текущей вкладки и отправить ее URL-адресу, который затем получит его и перетащит в базу данных. Как и моя личная служба закладок. Я отлаживал столько, сколько могу, данные делают все возможное, когда я отправляю свой запрос XHR .. но данные не выходят, когда я повторяю его на сценарии на стороне сервера. Я подтверждаю, что он ударяет по моему URL, потому что я консоль регистрирую вывод ... но снова данные не передаются.
BACKGROUND.JS
chrome.runtime.onMessage.addListener(function(request, sender, callback) {
if (request.action == "xhttp") {
var xhttp = new XMLHttpRequest();
var method = request.method ? request.method.toUpperCase() : 'GET';
xhttp.open(method, request.url, true);
xhttp.send(request.data);
xhttp.onload = function() {
callback(xhttp.responseText);
};
return true
}
});
manifest.json
{
"name": "bookmarker",
"version": "0.0.1",
"manifest_version": 2,
"description": "POSTIN BOOKMARKS!",
"homepage_url": "URL",
"icons": {
"16": "icons/icon16.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
},
"permissions": [
"contentSettings",
"cookies",
"tabs",
"geolocation",
"http://*/*"
],
"content_scripts": [
{
"js": ["contentscript.js"],
"matches": ["http://*/*"]
}
],
"browser_action": {
"default_icon": "icons/icon16.png",
"default_popup": "popup.html"
},
"background": {
"scripts": ["background.js"],
"persistent": false
}
}
MAIN.JS
jQuery(function() {
jQuery('.reminded').on('click', function(e){
e.preventDefault();
chrome.tabs.query({currentWindow: true, active: true}, function(tabs){
var url = tabs[0].url,
date = 1391048414,
clientId = 1234
chrome.runtime.sendMessage({
method: "POST",
action: "xhttp",
url: "http://www.API.com/endpoint",
data: {url: url, date: date, clientId: clientId}
}, function(responseText) {
console.log(responseText);
});
});
});
});
Спасибо очень MUC h заранее за любой свет, который любой может поделиться.
Почему используется 'background.js'? почему бы не поместить содержимое 'main.js' прямо в' background.js' – avi
Я думаю, что это не полезно, но я попробовал ваш оригинальный фрагмент XMLHttpRequest, упрощенный всегда POST к определенному URI, и он отлично работал для меня. Спасибо за пример! –